Python Сокет получает неожиданные сообщения - PullRequest
1 голос
/ 19 февраля 2020

Итак, я очень плохо знаком с сетью, и я использовал библиотеку сокетов Python для подключения к серверу, который должен предоставлять мне время от сервера.

Вот код, который используется.

import socket
import requests
import urllib3

Headers = {
    'Host':'iqoption.com',
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0',
    'Accept' : '*/*',
'Accept-Encoding': 'gzip, deflate',
'Sec-WebSocket-Version' : '13',
'Origin' : 'https://iqoption.com',
 'Sec-WebSocket-Key': 'iExBWv1j6sC12qD+QPQ==',
'Connection' : 'keep-alive, Upgrade',
'Upgrade': 'websocket'


}
proxies = {"http": "http://127.0.0.1:8080", "https": "http://127.0.0.1:8080"}
urllib3.disable_warnings()

r = requests.get('https://iqoption.com/echo/websocket', stream=True,headers = Headers, proxies=proxies, verify=False)
s = socket.fromfd(r.raw.fileno(), socket.AF_INET, socket.SOCK_STREAM)
data = "ds"
bytes = s.recv(6000)
print(bytes)

Это ожидаемый ответ

{"name":"timeSync","msg":1582082211799}

Но я получаю весь этот код в консоли

b'\x17\x03\x03\x00A\x00\x00\x00\x00\x00\x00\x00\x02\xd2D[\xac\xece\x97\xe4\x01\x83\x9c"\x9d\x89[=\xd6\xa5\x96\x9a"A\x16\x8b(\xc5+\xaf5X\xf7\xb2\x1ai\xd2\x03\x90\x17\n\xa9h\xc7\xc3\xab\xf4jm\xaf\xdf\xa3\x80j\xb5I\x06p~'

Я решил сделать точную проверку, чтобы увидеть, что происходит

И я получил именно ту информацию, которая мне нужна, я поставлю снимок

Скриншот перехваченных данных в сумке

Но я не понимаю, почему, когда вы передаете информацию в python, выведите эти странные числа

Python cosole screenshot

I Я действительно потерян в этой проблеме, я надеюсь, что кто-то найдет решение :))

...