💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 修改网络请求 ## 在工作中时不时会因某些原因需要修改网络请求,主要有以下场景(但不限于此): - 当前请求的的内容与将要上线的功能存在局部差异,一般是一些请求参数的差异; - 某些后台服务ip或端口发生变更。 ## 当然你可以使用Fiddler的composer对想要修改请求包进行重构——打开composer标签,将要修改的session拖到composer里即可修改。但是如果想对某些特定的url自动的改包,还得使用FiddlerScript来做。使用FiddlerScript的简要步骤如下: 1. 安装Fiddler script editor插件,安装后可以在右侧发现多了一个选项卡FiddlerScript: ![](https://box.kancloud.cn/b588fb0e5f46f8530d74f8a05abfea31_678x109.png) 2. Fiddlerscript的语法和js有点类似,简单学习下,发现如果要改请求参数可以在OnBeforeRequest这个function里对Session对象的url属性进行修改。下面是一段示例代码,可以做到自动对GET请求中的个别参数修改: ![](https://box.kancloud.cn/c031d758af5c0bc971c62e67e79799c0_942x368.png) 3. 点击左上角的【save script】保存修改. 4. 重新触发请求,使用Fiddler抓包,可以看到host参数自动被替换为了我们指定的值。 官方文档上列举了比较几类常见的改包场景: - 添加或删除一个请求头; ~~~ oSession.oRequest["NewHeaderName"] = "New header value"; oSession.oResponse.headers.Remove("Set-Cookie"); ~~~ - 重定向请求的file、hostname、port; ~~~ if (oSession.PathAndQuery=="/version1.css") oSession.PathAndQuery="/version2.css"; if (oSession.HostnameIs("www.honebay.com")) oSession.hostname="testhonebay.com"; if (oSession.host=="www.honebay.com:9000") oSession.host="test.honebay.com:9000"; ~~~ ![](https://box.kancloud.cn/46edc87f1075b3ef31f80db79df03660_1883x460.gif) ---------------------------