WebSocket接收数据的编码/压缩类型识别及解码求助
WebSocket数据解码/解压缩求助
我正在尝试解码/解压缩WebSocket接收的数据,但不确定应该使用gzip还是其他工具库,恳请帮忙确定正确的编码/压缩方式。
我的Python实现代码
def on_message(ws, message): print(message) def on_error(ws, error): print(error) def on_close(ws, close_status_code, close_msg): print("### closed ###") def on_open(ws): print("[*] Opened connection.") msg = ["lang", "AA==", "data", "WINLINE", "getdate"] [ws.send(m) for m in msg] if __name__ == "__main__": ws = websocket.WebSocketApp( url="wss://wss.winline.ru/data_ng?", on_open=on_open, on_message=on_message, # header=headers ) ws.run_forever(dispatcher=rel) # Set dispatcher to automatic reconnection rel.signal(2, rel.abort) # Keyboard Interrupt rel.dispatch() websocket.enableTrace(True)
接收的原始WebSocket数据
b'\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x035\xce\xb1\r\xc20\x14E\xd1\xfb\xfc\xbfm\x08\x10E\x08\t\xa5a\x02W)Y!\x12\x1d\x13\xc0\x12L\xc0<\xd9"\xb3\x90\x96\x01\x88\x0b\xf4\x8a\xdb\x9c\xe2\xbd@o\xc4\x83xn\xf5U(\xb2"\x9f\x89O\xd2@.\xda\x0cl/4\'v\r{8@\x0b&\x1c\x085Y\x9fu\xa1\xf7\xde\xad\xa3\xc3\'\x9b,^\xb9y\x82\xa3g\xb8\xbb\xf8\xb3E\x8b\xacZ\xaf6V\x9b\xb4\x1e\xc8\xa3\x8f\xfe\x03Iq)b\x8e\x00\x00\x00'
使用gzip.decompress(message)处理后的结果
b'\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x00\xd3a\xc8a``\xe0a\xb04\xd536\xd4325\x01b\x00\x99\xe6\x82\x81\x14\x00\x00\x00' ,l 95.31.254.25 b'\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x00\x0bc\x00\x00-\xe88\xad\x02\x00\x00\x00' V
内容的提问来源于stack exchange,提问作者SonyMag
相关产品推荐
相关产品推荐

