websocket怎么设置请求头
时间: 2025-02-02 12:08:47 浏览: 47
### 如何在 WebSocket 连接中设置自定义 HTTP 请求头
WebSocket 协议本身不支持像 HTTP 那样直接携带自定义头部字段,不过可以在 WebSocket 连接建立之前的 HTTP 握手阶段添加这些信息。这可以通过向握手请求附加额外的 HTTP 头部来完成。
对于 Python 中使用 `websocket-client` 库的情况,在创建 WebSocket 客户端实例时可通过参数传递字典形式的 headers 来指定想要发送的自定义头部:
```python
import websocket
def on_message(ws, message):
print(f"Received: {message}")
def on_error(ws, error):
print(f"Error occurred: {error}")
def on_close(ws, close_status_code, close_msg):
print("Connection closed")
# 设置自定义header
custom_headers = {
"X-Custom-Header": "MyValue",
"Another-Header": "AnotherValue"
}
ws = websocket.WebSocketApp(
"ws://127.0.0.1:8888/track",
header=custom_headers,
on_message=on_message,
on_error=on_error,
on_close=on_close)
ws.run_forever()
```
上述代码展示了如何通过 `header` 参数传入一个包含自定义键值对的字典作为 HTTP 报文中的一部分[^4]。
当服务器收到这样的握手请求后,可以根据其中携带的信息决定是否接受该 WebSocket 连接以及后续处理逻辑。需要注意的是,一旦 WebSocket 握手成功并进入双向通信状态,则不能再修改或新增任何头部信息了[^1]。
阅读全文
相关推荐


















