Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python套接字正在接收意外消息_Python_Sockets_Tcp_Client - Fatal编程技术网

Python套接字正在接收意外消息

Python套接字正在接收意外消息,python,sockets,tcp,client,Python,Sockets,Tcp,Client,因此,我对网络非常陌生,我使用Python套接字库连接到一个服务器,该服务器提供给我从服务器获得的时间 下面是使用的代码 导入套接字 导入请求 导入urllib3 标题={ “主机”:“iqoption.com”, “用户代理”:“Mozilla/5.0(Windows NT 6.3;Win64;x64;rv:73.0)Gecko/20100101 Firefox/73.0”, “接受”:“*/*”, “接受编码”:“gzip,deflate”, “Sec WebSocket版本”:“13”,

因此,我对网络非常陌生,我使用Python套接字库连接到一个服务器,该服务器提供给我从服务器获得的时间

下面是使用的代码

导入套接字
导入请求
导入urllib3
标题={
“主机”:“iqoption.com”,
“用户代理”:“Mozilla/5.0(Windows NT 6.3;Win64;x64;rv:73.0)Gecko/20100101 Firefox/73.0”,
“接受”:“*/*”,
“接受编码”:“gzip,deflate”,
“Sec WebSocket版本”:“13”,
“来源”:https://iqoption.com',
“Sec WebSocket密钥”:“iExBWv1j6sC12qD+QPQ==”,
“连接”:“保持活动状态,升级”,
“升级”:“websocket”
}
代理={“http”:http://127.0.0.1:8080,“https”:http://127.0.0.1:8080"}
urllib3.禁用_警告()
r=请求。获取('https://iqoption.com/echo/websocket,stream=True,headers=headers,proxies=proxies,verify=False)
s=socket.fromfd(r.raw.fileno(),socket.AF\u INET,socket.SOCK\u STREAM)
data=“ds”
字节=s.recv(6000)
打印(字节)
这是预期的反应

{“name”:“timeSync”,“msg”:1582082211799}

但是我在控制台中得到了所有这些代码

b'\x17\x03\x03\x00A\x00\x00\x00\x00\x00\x02\x2d[\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\xb9h\xc7\xc3\xab\x4jm\xb4x4f\xb5xbj\xbj\xbj\xbj\x5xbj}>

我决定检查一下,看看发生了什么事

我收到了我需要的信息,我会抓拍

但我不明白为什么当您将信息传递给python时,会打印这些奇怪的数字


我真的被这个问题迷住了,我希望有人能找到一个解决方案:)

您似乎正在尝试使用
websocket
建立通信,而内置
socket
模块不适合开箱即用(因为它的操作级别低得多)。您可能希望了解如何在Python中使用websocket。我不知道您想做什么。为什么要使用原始套接字?此套接字将是TLS(加密的)而
b'\x17\x03\x03\…
是加密的TLS记录。即使您不使用TLS,原始套接字仍然具有websocket框架。如果您需要websocket连接,请使用websocket库,不要尝试发明自己的库,请看您似乎正在尝试使用构建的
websocket
建立通信t-in
socket
模块不适合开箱即用(因为它的操作级别要低得多)。您可能希望了解如何在Python中使用websocket。我不知道您正在尝试做什么。为什么要使用原始套接字?此套接字将是TLS(加密的)而
b'\x17\x03\x03\…
是加密的TLS记录。即使您不使用TLS,原始套接字仍然具有websocket框架。如果您需要websocket连接,请使用websocket库,不要尝试发明自己的,请参阅