jmeter简单http请求示例

本文介绍如何使用JMeter解决登录后仍提示登录的问题,通过配置Cookie Manager自动管理Cookie,以及应对“Apache不是正常浏览器”的报错。通过设置HTTP信息头管理器模拟正常浏览器,并展示了一个简单的开源中国登录测试案例,最后添加HTTP Cookie Manager实现成功的登录状态保持。

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

解决的问题:

1. 登录后再次使用jmeter访问时依然提示登录,使用cookie管理器元件自动管理cookie

2. user-agent提示Apache不是正常的浏览器,提示“抱歉,您的访问受限”,使用HTTP信息头管理器配置元件解决

3.若登录成功后没有响应,我可以再次访问首页,看看有没有已经登录的用户名,若有表示成功;


下面是自我做的一个简单的测试例子,测试的网站为开源中国的登录

1. 启动jmeter,添加配置原件:地址https://www.oschina.net/

 

2. 添加http采样器:地址:/action/user/hash_login

1)找到地址

&nb

JMeter 中发送 HTTP 请求是其核心功能之一,主要通过 **HTTP Request** 取样器实现。用户可以通过该取样器模拟向服务器发送各种类型的 HTTP 请求,包括 GET、POST、PUT、DELETE 等。 ### HTTP 请求的基本配置JMeter 中创建 HTTP 请求时,需在 HTTP Request 取样器中设置以下关键参数: - **Protocol**:指定协议类型,如 `http` 或 `https`。 - **Server Name or IP**:目标服务器的域名或 IP 地址。 - **Port Number**:服务器监听的端口号(如 80、443)。 - **HTTP Request method**:请求方法,如 GET、POST 等。 - **Path**:请求的路径,如 `/api/login`。 ### 发送 GET 请求 GET 请求的参数通常附加在 URL 的查询字符串中。例如: ``` http://example.com/api/data?param1=value1&param2=value2 ``` 在 JMeter 中可以使用“用户自定义变量”或“函数助手”等方式对参数进行参数化,以实现动态请求[^1]。 ### 发送 POST 请求 POST 请求的参数通常包含在请求体中,而不是 URL 中。根据数据格式的不同,常见的 POST 请求有以下两种形式: #### 1. 表单格式(application/x-www-form-urlencoded) 在 JMeter 中,可以通过“Parameters”标签页添加键值对形式的参数,JMeter 会自动将其编码为表单格式发送。 #### 2. JSON 格式(application/json) 当需要发送 JSON 数据时,应选择“Body Data”标签页,并在其中输入 JSON 字符串。例如: ```json { "username": "testuser", "password": "123456" } ``` 同时,需确保在 HTTP Header Manager 中设置 `Content-Type: application/json`,以告知服务器请求体的格式[^1]。 ### 自动重定向与跟随重定向 当服务器返回 3xx 响应码时,表示需要重定向。JMeterHTTP Request 取样器提供了两个选项: - **Follow Redirects**:自动跟随重定向,JMeter 会自动向新地址发送请求,但仅记录最终响应。 - **Redirect Automatically**:自动重定向,但 JMeter 会记录所有中间跳转的请求和响应,适用于需要追踪整个重定向过程的测试场景[^3]。 ### 使用 Java 请求发送复杂请求 对于一些需要复杂逻辑或特定 Java 类处理的请求,可以使用 JMeter 的 Java 请求功能。具体步骤包括: 1. 将测试类的 JAR 包放入 JMeter 的 `lib/ext` 目录。 2. 在测试计划中添加 Java Request 取样器。 3. 配置相关参数并运行测试。 这种方式适用于开发人员提供的特定测试类,通常需要使用 Eclipse 等工具进行开发和调试[^2]。 ### 示例:发送 JSON 格式的 POST 请求 ```python import json # 构建 JSON 请求体 request_body = { "username": "testuser", "password": "123456" } # 将字典转换为 JSON 字符串 json_data = json.dumps(request_body) # 发送 POST 请求示例使用 Python 的 requests 库) # 在 JMeter 中需配置 Body Data 和 Content-Type # response = requests.post("http://example.com/api/login", data=json_data, headers={"Content-Type": "application/json"}) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值