WebSockets到Python“不正确”的Sec-WebSocket-Accept'标头值“

时间:2015-03-13 14:00:06

标签: python websocket handshake

我在使用python让我的websockets接受响应时遇到了一些麻烦。

我正在使用此代码:

$(document).ready(function() {
    var ws = new WebSocket("ws://127.0.0.1:50705");
});

调用调用此函数的python套接字:

def resolveKey(self, key):
    key = bytes(key, "utf-8") + bytes("258EAFA5-E914-47DA-95CA-C5AB0DC85B11", "utf-8")
    key = hashlib.sha1(key).hexdigest()
    key = base64.b64encode(bytes(key, "utf-8"))
    return key

这些是标题:

REQUEST

Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:no-cache
Connection:Upgrade
Host:127.0.0.1:50705
Origin:null
Pragma:no-cache
Sec-WebSocket-Extensions:permessage-deflate; client_max_window_bits
Sec-WebSocket-Key:iqQ1q0W6FoAJXvrCAbCqHQ==
Sec-WebSocket-Version:13
Upgrade:websocket
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36

RESPONSE

Connection:Upgrade
Sec-WebSocket-Accept:NThmZDY4Y2YxZjc1Y2VkYTA3YWJmNmRmYTc3OWMyZDMyZGY2MmZjZQ==
Upgrade:WebSocket

我已经取了值,手动应用了魔术键,sha1' d然后base64编码它并且值看起来是正确的。我错过了什么吗?

0 个答案:

没有答案