接口测试九(fiddler)

本文详细介绍了如何使用FiddlerComposer进行HTTP请求的创建与发送,包括请求百度首页、搜索关键词、模拟手机APP登录及手写请求等实战操作。通过具体案例,读者将学会构造GET与POST请求,理解Headers配置的重要性,并掌握从Web会话中复用请求的方法。

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

一、Composer介绍
Fiddler Composer的功能就是用来创建HTTP Request 然后发送。 Fiddler创建request有三种方式:

1、自定义一个Request

2、可以手写一个Request
3、在Web会话列表中拖拽一个已有的Request

二、请求百度首页
在这里插入图片描述

1.先选择请求方式:get

2.填入请求地址:http://www.baidu.com/

3.http协议版本:默认1.1

4.Request Body:get请求不用填写body,此区域此时会置灰

5.点击execute按钮:执行请求

6.History区域显示请求过的历史记录

7.查看请求结果,左边会话框会显示请求行,如下图:
在这里插入图片描述

8.查看response区域,点Textview

9.显示服务器返回结果:百度一下,你就知道

三**、在百度输入框输入’测试’后搜索**
在这里插入图片描述

1.在输入框输入请求url

2.请求地址:/s

3.请求参数如上图红色区域(?后面)

4.查看请求结果,如下图

在这里插入图片描述
5.上方区域显示请求参数(wd=测试)

6.response区域点Webview

7.返回结果会显示百度搜索“测试”的结果

四、模拟手机APP登陆

1.打开智行火车票的登陆界面,如下图
在这里插入图片描述

2.通过抓包找到登陆请求url(http://d0.suanya.cn/ntm4/decode)

3.请求类型选择:POST

4.输入登陆的url地址

5.RequestBody区域填入请求body,如下图红色框框区域
在这里插入图片描述

6.点执行后,左边会话框,直接报:405错误

(405:用来访问本页面的方法不被允许)

7.经过分析可能是请求headers的问题

(fiddler工具在发送请求时,会默认自带出一个headers,但是此APP估计只支持手机端访问,做了限制,所以需要手动创建一个手机端请求的headers,由此可见headers的重要性了吧~)

8.添加手机请求的headers(模拟从手机客户端请求)
在这里插入图片描述

9.添加headers后重新execute

10.会话框显示200请求成功

11.查看请求结果response:JSON
在这里插入图片描述

12.此时服务器返回的是json格式,如上图(欢迎使用铁路12306)

五、手写一个Request

点开Raw区域,按如下格式填写就行了

在这里插入图片描述

六、在Web会话列表中拖拽一个已有的Request

在这里插入图片描述

### 使用 Fiddler 进行接口测试 Fiddler 是一种强大的网络调试工具,可以捕获 HTTP/HTTPS 流量并对其进行分析和修改。它不仅能够用于监控浏览器流量,还可以用来执行接口测试。以下是有关如何利用 Fiddler 的 `Composer` 功能来模拟 GET 和 POST 请求的具体方法。 #### 1. **Composer 工具简介** Fiddler 中的 `Composer` 卡片是一个内置的功能模块,专门设计用于创建自定义请求并发送给目标服务器[^3]。通过该功能,用户可以直接构建 HTTP 或 HTTPS 请求,而无需依赖其他外部工具或编程环境。 #### 2. **设置 Composer 执行接口测试** - 在 Fiddler 主界面中找到顶部菜单栏中的 `Tools -> Composer` 菜单项打开 composer 面板。 - 设置 URL 地址以及所使用的 HTTP 方法 (GET / POST),填写必要的 Header 参数与 Body 数据内容(如果是 POST 类型的话)[^4]。 #### 3. **模拟 GET 请求** 对于简单的获取操作来说,只需要输入完整的 URI 并选择 Method 为 “GET”。点击 Execute 后即可看到返回的结果展示在右侧窗口里。 ```http GET http://example.com/api/resource?param=value HTTP/1.1 Host: example.com Accept: */* Connection: keep-alive ``` #### 4. **模拟 POST 请求** 当需要向服务端提交复杂表单或者 JSON 格式的实体对象时,则应该采用 POST 方式。此时除了指定 endpoint 外还需要提供 Request Payload,在 Headers 下方区域添加 Content-Type 字段表明消息体格式,并将实际数据填入 Bodies 输入框内。 ```http POST http://example.com/api/resource HTTP/1.1 Host: example.com Content-Type: application/json Accept: */* Connection: keep-alive { "key": "value" } ``` #### 5. **查看响应结果** 无论是哪种类型的请求发出之后,都可以立即观察到来自远程主机反馈的信息——状态码、头部属性列表还有主体部分的内容都会清晰呈现出来供开发者进一步解析验证。 --- ### 注意事项 如果涉及到 SSL/TLS 加密通信场景下可能还会碰到无法正常解密的情况,这时就需要按照官方文档指引正确配置信任根证书以便顺利截取加密后的传输记录[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值