socketIO-client无法连接到服务器

时间:2016-05-18 22:14:37

标签: python socket.io

我目前正在尝试连接到socketIO服务器,就像在这个JavaScript中一样:

var socket = io('https://beta.glws.org')

这是Python部分,它不起作用:

from socketIO_client import SocketIO, BaseNamespace

s = SocketIO('https://beta.glws.org', 80,
             verify=False,
             headers={'Sec-WebSocket-Key': 'BtvJh6zvB4ILSo0sqIOntQ=='},
             cookies={'io': 'SCdIBbDOGDXhUBOZAkhM',
                      'gat': '1',
                      'ga': 'GA1.2.1442748168.1463601401'
                      },
             )

从工作站点调试转发cookie和头文件,但结果与没有它们的结果相同。

登录调试级别的结果:

INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): beta.glws.org
WARNING:root:beta.glws.org:80/socket.io [waiting for connection] [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:590)
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (2): beta.glws.org
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (3): beta.glws.org
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (4): beta.glws.org
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (5): beta.glws.org
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (6): beta.glws.org
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (7): beta.glws.org

我做错了什么?为什么要启动这么多新的https连接?

1 个答案:

答案 0 :(得分:3)

我认为问题是您在使用端口80时指定了https地址。端口80用于http,端口443用于https。

以下是您应该更改的代码行的一部分。

'https://beta.glws.org', 80,

您可以将http协议用于地址和端口80,也可以将端口更改为443并保留地址相同。