我正在开发发送数千个 http post 请求的应用程序。我想记录所有响应,并在 Fiddler 的帮助下将它们用作存根。
例如(为简单起见,假设产品价格 = productid):
- 发送请求,正文
<productId>1</productId>
- 得到真正的回应,身体
<productprice>1</productprice>
- 在本地存储中保存上一步的响应(标题+正文),例如在某些字典
[1,"HTTP/1.1 200 OK <productprice>1</productprice>"]
中。(由于我们存储了这个响应,下一个匹配模式的请求body contains <productId>1</productId>
应该从我们的本地存储响应) - 发送请求,正文
<productId>1</productId>
- 从本地存储加载响应并返回
HTTP/1.1 200 OK <productprice>1</productprice>
- 发送请求,正文
<productId>2</productId>
- 得到真正的回应,身体
<productprice>5</productprice>
- 在本地存储中保存上一步的响应(标题+正文),例如在某些字典中
[1,"HTTP/1.1 200 OK <productprice>1</productprice>"],[2,"HTTP/1.1 200 OK <productprice>2</productprice>"]
- ...
如何配置Fiddler
它?
细节:
我已经捕获了 1000 个真实POST
请求,我想在它们的帮助下调试我的应用程序。
每个请求/响应都是唯一的,通常看起来像:
要求
POST https://myurl HTTP/1.1
Authorization: Bearer xxx
Content-Type: application/soap+xml; charset=utf-8; action="GetList"
Host: myurl.net
Content-Length: 358
Expect: 100-continue
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope">
<s:Body>
<catalogRequest xmlns="https://myurl">
<id xmlns="">1</id>
</catalogRequest>
</s:Body>
</s:Envelope>
回复
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="https://myurl">
<env:Body>
<ns1:catalogResponse>
<result>
<id>1</id>
<name>some text</name>
<price>109.99</price>
... big xml ...
<status>1</status>
</result>
</ns1:catalogResponse>
</env:Body>
</env:Envelope>
我试过Autoresponder
了,但是当我将捕获的会话拖到它们时,Autoresponder
它们被转换为如下规则:METHOD:POST EXACT:
- 此规则不使用 POST 正文。我无法手动更改 1000 条规则以使用URLWithBody
规则
我认为可以创建Fiddler
脚本,但我不知道如何存储该脚本捕获的请求/响应以将它们用作映射。