You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何实现自动发送递增ID的URL请求并保存响应?

嘿,我完全懂你要批量处理带递增ID的请求并保存响应的需求——手动操作肯定要疯,尤其是量大的时候。Fiddler确实不是干这个的最佳工具,但咱们有几个更靠谱的方案,挑适合你的来:

方案1:Python脚本(最灵活易实现,强烈推荐)

Python是处理这种批量请求的绝佳选择,几行代码就能搞定,还能自定义保存逻辑,完全适配你的需求。

首先确保你安装了requests库(如果没装的话):

pip install requests

然后写个简单的脚本,复制到.py文件里运行就行:

import requests

# 替换成你的基础URL
base_url = "http://google.com/getdata/?Id="
# 设置要处理的ID范围,比如从1到100
start_id = 1
end_id = 100

for id_num in range(start_id, end_id + 1):
    full_url = f"{base_url}{id_num}"
    try:
        # 发送GET请求
        response = requests.get(full_url)
        response.raise_for_status()  # 请求失败时自动抛出异常
        
        # 保存响应内容,文件名用ID命名,方便区分
        with open(f"response_{id_num}.txt", "w", encoding="utf-8") as f:
            f.write(response.text)
        print(f"✅ 已保存Id={id_num}的响应")
    except Exception as e:
        print(f"❌ 处理Id={id_num}时出错: {str(e)}")

这个脚本会自动从start_idend_id循环发送请求,每个响应都会保存成response_1.txtresponse_2.txt这样的独立文件,出错了也会明确提示,非常省心。

方案2:用FiddlerScript实现(适合想继续用Fiddler的场景)

如果你坚持想用Fiddler,也可以通过自定义脚本实现批量请求,但保存响应的步骤会麻烦一点:

  1. 打开Fiddler,按Ctrl+R打开FiddlerScript编辑器(或者点击菜单栏Rules > Customize Rules)。
  2. class Handlers代码块的外面,添加全局变量定义:
static int startId = 1;
static int maxId = 100; // 你要发送的最大ID
  1. Handlers类里面添加一个触发批量请求的方法:
public static RulesOption("批量发送递增ID请求")
BindUIButton("Custom")
static void SendBatchRequests() {
    for (int i = startId; i <= maxId; i++) {
        string targetUrl = "http://google.com/getdata/?Id=" + i;
        // 发送GET请求
        FiddlerApplication.oProxy.SendRequest(targetUrl, "GET", null, null);
    }
}
  1. 保存脚本,Fiddler会自动重启。之后点击右上角的Custom按钮,就能触发批量请求。
  2. 保存响应:在Fiddler的Tools > Options > Sessions里勾选Store Responses,等所有请求完成后,点击File > Save > All Sessions保存所有会话,之后可以逐个导出响应内容。不过这个方法不如Python直接保存单个文件方便。
方案3:Postman集合Runner(适合习惯用Postman的用户)

如果你平时常用Postman,也可以用它的集合Runner来实现:

  • 创建一个新请求,URL填写http://google.com/getdata/?Id={{id}},用变量{{id}}代替固定ID。
  • 把这个请求加入一个新的集合。
  • 点击集合的Run按钮打开Collection Runner:
    • Iterations里填写要运行的次数(比如100次)。
    • Variables里设置id的初始值为1。
    • 切换到请求的Tests标签,添加脚本让ID自动递增:
      pm.environment.set("id", parseInt(pm.environment.get("id")) + 1);
      
  • 要保存响应的话,需要用Postman的命令行工具Newman:
    • 在请求的Tests里添加保存文件的脚本:
      const fs = require('fs');
      fs.writeFileSync(`response_${pm.environment.get("id")}.txt`, pm.response.text());
      
    • 然后用Newman运行集合:
      newman run 你的集合名称.json -e 你的环境变量.json
      

整体来说,Python脚本是最直接高效的方案,代码简单易修改,完全能满足你大量请求的需求。

内容的提问来源于stack exchange,提问作者Karma5

火山引擎 最新活动