Соединение WebSocket отклонено из-за ошибки HTTP 403 в скрипте Python – dexscreenerPython

Программы на Python
Anonymous
Соединение WebSocket отклонено из-за ошибки HTTP 403 в скрипте Python – dexscreener

Сообщение Anonymous »

Я столкнулся с проблемой при попытке установить соединение WebSocket с помощью Python. Несмотря на стандартную процедуру настройки соединения, сервер продолжает отклонять его с ошибкой HTTP 403. Ниже я предоставил соответствующую информацию, включая мой сценарий и параметры подключения WebSocket.

Код: Выделить всё

import asyncio
import websockets
import os
import base64
import json

def generate_sec_websocket_key():
random_bytes = os.urandom(16)
key = base64.b64encode(random_bytes).decode('utf-8')
return key

async def dexscreener_scraper():
headers = {
"Host": "io.dexscreener.com",
"Connection": "Upgrade",
"Pragma": "no-cache",
"Cache-Control": "no-cache",
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36",
"Upgrade": "websocket",
"Origin": "https://dexscreener.com",
"Sec-WebSocket-Version": "13",
"Sec-WebSocket-Key": generate_sec_websocket_key(),
"Accept-Encoding": "gzip, deflate, br, zstd",
"Accept-Language": "fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7"
}
uri = "wss://io.dexscreener.com/dex/screener/pair/solana/zcdaw3jpcqey8jyvxnvmqs2cu35cyddy4ot7v8ednhz"
async with websockets.connect(uri, extra_headers=headers) as websocket:
while True:
message_raw = await websocket.recv()
message = json.loads(message_raw)
print(message)
await asyncio.sleep(1)

if __name__ == "__main__":
asyncio.run(dexscreener_scraper())
Ошибка:

Код: Выделить всё

websockets.exceptions.InvalidStatusCode: server rejected WebSocket connection: HTTP 403
Дополнительная информация:
Ниже приведена информация о подключении WebSocket из инструментов разработчика моего браузера:

Код: Выделить всё

Request URL: wss://io.dexscreener.com/dex/screener/pair/solana/zcdaw3jpcqey8jyvxnvmqs2cu35cyddy4ot7v8ednhz
Request Method: GET
webpage : https://dexscreener.com/solana/zcdaw3jpcqey8jyvxnvmqs2cu35cyddy4ot7v8ednhz

Request Headers:
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: en-US,en;q=0.9,ar;q=0.8
Cache-Control: no-cache
Connection: Upgrade
Host: io.dexscreener.com
Origin: https://dexscreener.com
Pragma: no-cache
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
Sec-WebSocket-Key: Qth1VxWMPWjj5C+s5z4qQA==
Sec-WebSocket-Version: 13
Upgrade: websocket
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36
Будем очень признательны за любые идеи или предложения по решению этой проблемы.
Заранее благодарим вас за помощь!

Подробнее здесь: https://stackoverflow.com/questions/787 ... exscreener

Вернуться в «Python»