如何在Fiddler中修改请求?

Jus*_*tin 45 post http-post fiddler http-post-vars

我正在寻找一种简单的方法来拦截Web请求并使用Fiddler修改请求的内容(主要是POST).

这是为了测试服务器端验证.

我必须使用Fiddler,但是我还没有找到一个简单的方法.

有几种记录的方法来编写脚本来拦截流量和更改标题,但我想在不编写脚本的情况下这样做 - 测试人员需要使用此工具,并且不同的测试人员可能一直在编写/修改脚本烦人.

例:

带2个参数的简单POST:

field1=foo, 
field2=bar
Run Code Online (Sandbox Code Playgroud)

我想拦截请求,将field2的值修改为像bañ(注意ñ,在我的情况下是无效的,这就是我想要测试的).

Jus*_*tin 82

好的,通过以下youtube视频将它拼凑在一起发布我的答案:

使用Fiddler篡改客户端请求和服务器响应


  1. 开始提琴手(我正在使用Fiddler 4)

  2. 您会注意到它会拦截所有浏览器和其他应用程序的所有流量

  3. 设置过滤器 - 这将使您只能查看您感兴趣的数据

    1. 在右侧,单击过滤器选项卡
    2. 选中"使用过滤器"
    3. 在主机上,使用"仅显示以下主机"
    4. 在下面的文本框中,输入您要测试的主机.在我们的测试环境中,请输入以下内容:testing.internalsite.com;
    5. 在"断点"一节中,选中"断开POST请求"
  4. 拦截请求

    1. 在浏览器中,导航到您正在测试的页面.在我们的例子中,它是欢迎页面,我们将对服务器端验证进行测试:https: //testing.internalsite.com/yourapp/welcome.do
    2. 通过点击工具功能区中的"X"并选择"全部删除"来清除所有现有的已记录请求.
    3. 在浏览器中,将数据放入您感兴趣的表单中并点击提交.这是您将使用fiddler更改的有效数据(通过客户端验证).
    4. 在Fiddler中,您将看到带有红色图标的请求.单击请求以在右侧加载详细信息.
    5. 在"检查器"选项卡上,后跟"WebForms"选项卡,您可以修改已提交的表单的参数.根据测试更改数据.
    6. 点击"运行到完成"按钮
  5. 验证您的响应是否正确 - 如果您正在测试服务器端验证,通常会出现某种错误消息

  • @ Sujit.Warrier否.您永远无法控制客户端可以发送的内容; 意味着你永远不会信任客户数据.您*必须*在服务器端验证/清理/ etc. (5认同)

Mas*_*oe2 8

我用fiddler 4.6.3.如果您要提交网络表单,可以尝试此操作.

提交表单时请注意帖子请求.让这个请求留在小提琴手里.让我们在Fiddler中修改请求.

1 - 右键单击​​请求>选中"解锁以进行编辑".

2 - Inspector选项卡>在Body部分中修改用户名,密码等表单字段.

3 - 右键单击​​请求>重播>重发请求.

做完了!此方法的唯一问题是您修改旧请求.在Charles代理中,这比点击Fiddler中的多次点击完成了2-3次点击.另外,您不必弄乱旧请求.