How to add more headers in websocket python client(如何在WebSocket Python客户端中添加更多头部)
本文介绍了如何在WebSocket Python客户端中添加更多头部的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试通过WebSocket连接(我使用的是Python WebSocket客户端)发送会话ID(在对http服务器进行身份验证后获得),我需要将其作为Header参数传递,其中服务器(Tornado WebSocket服务器)将读取所有标头并对其进行检查。
问题是:我如何使用现有的客户端Python WebSocket实现之一添加标头,我发现它们都不能做到这一点,或者我一开始就遵循了错误的身份验证方法?
--更新--,下面是我使用的代码模板:
def on_message(ws, message):
print 'message received ..'
print message
def on_error(ws, error):
print 'error happened .. '
print error
def on_close(ws):
print "### closed ###"
def on_open(ws):
print 'Opening Websocket connection to the server ... '
## This session_key I got, need to be passed over websocket header isntad of ws.send.
ws.send(session_key)
if __name__ == "__main__":
websocket.enableTrace(True)
ws = websocket.WebSocketApp("ws://localhost:9999/track",
on_open = on_open,
on_message = on_message,
on_error = on_error,
on_close = on_close,
)
ws.on_open = on_open
ws.run_forever()
推荐答案
自从提出此问题以来,WebSocket-Client似乎已更新为包括WebSocket标头。现在,您只需将标头参数列表作为字符串传递即可:
custom_protocol = "your_protocol_here"
protocol_str = "Sec-WebSocket-Protocol: " + custom_protocol
ws = websocket.WebSocketApp("ws://localhost:9999/track",
on_open = on_open,
on_message = on_message,
on_error = on_error,
on_close = on_close,
header = [protocol_str]
)
如果您对有效标头的完整列表感兴趣,请参阅WebSocket RFC6455文档:https://www.rfc-editor.org/rfc/rfc6455#section-4.3
GitHub来源:https://github.com/liris/websocket-client/blob/master/websocket.py
这篇关于如何在WebSocket Python客户端中添加更多头部的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何在WebSocket Python客户端中添加更多头部
猜你喜欢
- 使用公司代理使Python3.x Slack(松弛客户端) 2022-01-01
- YouTube API v3 返回截断的观看记录 2022-01-01
- 我如何卸载 PyTorch? 2022-01-01
- 使用 Cython 将 Python 链接到共享库 2022-01-01
- CTR 中的 AES 如何用于 Python 和 PyCrypto? 2022-01-01
- 我如何透明地重定向一个Python导入? 2022-01-01
- 如何使用PYSPARK从Spark获得批次行 2022-01-01
- ";find_element_by_name(';name';)";和&QOOT;FIND_ELEMENT(BY NAME,';NAME';)";之间有什么区别? 2022-01-01
- 检查具有纬度和经度的地理点是否在 shapefile 中 2022-01-01
- 计算测试数量的Python单元测试 2022-01-01