Fiddler将二进制文件数据添加到POST

Oli*_*ver 18 binary file-upload fiddler

我尝试将二进制文件数据直接添加到POST调用的请求主体中,以便我可以模拟文件上载.但是,我尝试设置'请求前'断点并使用'插入文件',但我似乎无法让它工作.我还试图修改CustomRules.js来注入文件,但无法弄清楚如何通过JScript加载二进制数据.这里有一个简单的解决方案吗?

Man*_*ish 38

自从这个问题得到解答以来,我确信这是今年的新功能,但我想我无论如何都会添加它:

现在,在URL文本框右侧的Composer中有一个蓝色的"[上传文件]"链接.这将创建完整的multipart/form-data请求.如果你使用它,你会注意到你的身体现在有这样的东西:

<@INCLUDE C:\ Some\Path\my-image.jpg @>

在我的情况下,我只想直接POST二进制文件而没有多部分垃圾,所以我只是将<@INCLUDE ... @>魔法放在请求体中,并将​​二进制文件作为正文发送.

  • 不,还没有。只是两个输入窗口之间的微小蓝色文本(如链接文本)**。 (2认同)

You*_*jae 12

为了发送multipart/form-data,这个rec​​eipe将会有所帮助.

在上面板(Http标题)中,设置Content-Type如下.其他值会自动解决.

Content-Type: multipart/form-data; boundary=-------------------------acebdf13572468
Run Code Online (Sandbox Code Playgroud)

并在下面的面板中输入Response Body,如下所示.

---------------------------acebdf13572468
Content-Disposition: form-data; name="description" 

the_text_is_here
---------------------------acebdf13572468
Content-Disposition: form-data; name="file"; filename="123.jpg"
Content-Type: image/jpg

<@INCLUDE *C:\Users\Me\Pictures\95111c18-e969-440c-81bf-2579f29b3564.jpg*@>
---------------------------acebdf13572468--
Run Code Online (Sandbox Code Playgroud)

进口规则是,

  1. Content-Type应该有两个-标志而不是身体上的边界词.
  2. 身体的最后一个应该以两个-标志结束.


cui*_*ing 5

在Fiddler脚本中:(在Fiddler:Rules ... Customize Rules中),找到OnBeforeRequest函数,并添加类似于的行:

if (oSession.uriContains("yourdomain"))
{
    oSession.LoadRequestBodyFromFile("c:\\temp\\binarycontent.dat");    
}
Run Code Online (Sandbox Code Playgroud)