Python websocket库

时间:2018-03-22 05:17:15

标签: python websocket

我正在尝试创建一个使用websockets连接到Python脚本的网页。我目前正在使用websocket_server库,它可以在我的计算机或手机浏览器中查看页面时正常工作,但在电视上查看时无效。

我注意到我的电视发送的请求与其他浏览器有点不同。我的电脑的请求如下:

b'GET / HTTP/1.1\r\nHost: 192.168.0.153:5001\r\nConnection: Upgrade\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\nOrigin: http://192.168.0.153:5555\r\nSec-WebSocket-Version: 13\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36\r\nAccept-Encoding: gzip, deflate\r\nAccept-Language: en-US,en;q=0.9\r\nSec-WebSocket-Key: /1Tw64u1Zd5SSvJd56hQeA==\r\nSec-WebSocket-Extensions: permessage-deflate; client_max_window_bits\r\n\r\n'

来自电视:

b'GET / HTTP/1.1\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nHost: 192.168.0.153:5001\r\nOrigin: http://192.168.0.153:5555\r\nSec-WebSocket-Key1: 1_7236`8 \ 86d[1 w?0\r\nSec-WebSocket-Key2: W 38 0 5o P 4 7]0 7 50\r\n\r\n\xdb{x\x9f\xa3\x12\!'

它有2个Sec-WebSocket-Key部分,并且都不是base64编码的。这是websocket协议的旧版本还是电视中的实现刚刚开始?如果它是旧版本,那么它们的任何Python库是否支持它或者某种解决方法?

感谢。

编辑:

Python版本3.6

电视是LG 47lm6200-ue,我找不到任何关于它使用的操作系统的信息或关于它正在使用的浏览器的任何信息。它是从2012年开始的,所以我相信它是在LG转向webOS之前的。

我通过执行以下操作在JavaScript中创建套接字:

var ws = new WebSocket("ws://192.168.0.153:5001/");

0 个答案:

没有答案