Python测试Websocket接口

1|0前言

Websocket的详解不再介绍,我的上一篇文章已经介绍过了。

2|0安装

pip install websocket


运行会报错,还需要依赖包websocket-client

pip install websocket-client

3|0示例

使用一个demo测试网站:https://www.websocket.org/echo.html 进行演示。

import json
from websocket import create_connection
url = 'wss://echo.websocket.org'#websocket连接地址,地址为虚拟地址
#websocket.enableTrace(True) #打开跟踪,查看日志
while True:
ws = create_connection(url) #创建连接
data =input('输入传输消息:') #测试数据
# new_data=json.dumps(data,ensure_ascii=False) #将data转化为字符串
ws.send(data) #发送请求
print('收到回复消息:',ws.recv()) #打印服务器响应数据
if data == 'q':
ws.close() #关闭连接
break

4|0实战

公司开发的websocket接口只是单纯的建立连接进行监听,并不支持发送和接受数据。

import unittest
from websocket import create_connection
import websocket
class Test_websoket(unittest.TestCase):
def test_websk(self):
'''websocket 消息推送: /socketServer/${userId} '''
url = 'ws://10.10.100.224:9997/socketServer/528' # websocket连接地址
websocket.enableTrace(True) # 打开跟踪,查看日志
ws = create_connection(url) # 创建连接
print(ws.getstatus()) # 打印连接状态
self.assertEqual(101, ws.getstatus(), 'websocket连接错误') # 断言连接状态
# ws.settimeout(10) #设置超时时间
# print(ws.gettimeout()) #获取超时时间
# ws.shutdown() # 关闭连接
if __name__ == '__main__':
unittest.main()

注意这里返回的状态是101,表示协议切换的意思,于是可以用来断言是否连接成功。


__EOF__

本文作者Harry
本文链接https://www.cnblogs.com/harry66/p/14079320.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Harry_666  阅读(3832)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示