首页 > 解决方案 > 将 websocket 用于 python 网络爬虫——rsv 尚未实现

问题描述

我使用 websocket 成功地与目标 wss-url 建立长期连接。但是在收到一条消息后,代码捕获了一个名为“rsv is not implemented, yet”的错误并关闭了连接。

似乎很少有人遇到这个问题,描述为“rsv 尚未实现”。而 websocket 的 API 文档从来没有提到这个问题。

我的代码的主要部分:

def on_message(ws, message):
    print(message)

def on_error(ws, error):
    print("!!!find error!!!")
    print(error)

def on_close(ws):
    print("### why closed ???###")

websocket.enableTrace(True)
ws = websocket.WebSocketApp(url, 
                on_message = on_message, 
                on_error = on_error, 
                on_close = on_close, 
                header = header, 
                cookie = cookie,
            )
ws.run_forever(origin = 'https://matters.news', skip_utf8_validation = True)

它只会给我一条消息,然后显示:

!!!find error!!!
rsv is not implemented, yet
send: b'\x88\x82\xd9\xe2\xcc\x8c\xda\n'
### why closed ???###

标签: pythonwebwebsocketweb-crawler

解决方案


我收到了同样的错误并通过删除来修复它:

'Sec-WebSocket-Extensions': 'permessage-deflate'

从我的标题


推荐阅读