python - 将 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 ???###
解决方案
我收到了同样的错误并通过删除来修复它:
'Sec-WebSocket-Extensions': 'permessage-deflate'
从我的标题。
推荐阅读
- python - 根据特定条件通过 cumsum() (或任何其他此类函数)评估 df['column'] 的总和。熊猫
- java - 为什么当我在 Android 中强制删除暗模式时,我的登录 Activity 会弹出错误
- configuration - 任何用于管理外部配置数据的 GUI?
- reactjs - 反应路由器 v6 嵌套路由不显示子元素
- javascript - 无法使在 reactjs 中工作的 nextjs 中的包运行
- node.js - PM2 生态系统配置的最佳选择是什么
- python - 如何不切割 matplotlib 图
- typescript - applyResolversEnhanceMap 没有向解析器添加自定义装饰器?
- sql - 为什么 TDengine 数据库在相同的过滤条件下不能返回相同数量的行?
- javascript - 使用异步 javascript 函数添加事件监听器