解决jmeter测试WebSocket的wss协议请求不成功或者报403错误

本文介绍如何在使用JMeter测试WebSocket接口时解决403错误,通过添加正确的HTTP请求头来模拟浏览器信息,确保请求能够成功发送。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:

在用Jmeter测试 WebSocket 接口时遇到了这种情况,Jmeter请求一个wss协议的Websocket 接口,各项参数都填写正确,可是取样器结果是403(见下图),同一个请求在 websocket 在线测试工具中连接就没有问题。

错误代码如下:

Thread Name: 线程组 1-1
Sample Start: 2019-09-04 17:47:20 CST
Load time: 504
Connect Time: 0
Latency: 0
Size in bytes: 0
Sent bytes:0
Headers size in bytes: 0
Body size in bytes: 0
Sample Count: 1
Error Count: 1
Data type ("text"|"bin"|""): 
Response code: 403
Response message: Http Upgrade failed with status code 403


SampleResult fields:
ContentType: 
DataEncoding: null

同样,HTTP请求有时也会遇到相同的问题,这是因为被请求的网站做了请求来源过滤,来源不明的请求拒绝访问,我们需要在jmeter中添加模拟浏览器信息。

举个例子,优快云博客(blog.youkuaiyun.com)就有这样的机制。

用jmeter请求blog.youkuaiyun.com。参考https://blog.youkuaiyun.com/weixin_33901641/article/details/85903493

解决方法:

1、在浏览器中用websocket在线测试连接请求地址,按F12开发者工具,找到该请求的 Request Headers 请求头信息(参见下图);


2、线程组→添加→配置元件→HTTP信息头管理器。将 Request Headers 中的请求头信息复制添加到Jmeter 的HTTP信息头管理器中(参见下图);

3、HTTP信息头管理器添加完成后,运行Jmeter线程组,察看结果树-取样器结果请求成功(如下图)。若取样器结果仍未成功,根据取样器结果提示删除部分HTTP请求头信息即可。

HTTP请求不成功或报403错误解决方法同上。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值