我尝试将二进制文件数据直接添加到POST调用的请求主体中,以便我可以模拟文件上载。但是,我尝试设置'请求前'断点并使用'插入文件',但我似乎无法让它工作。我还试图修改CustomRules.js来注入文件,但无法弄清楚如何通过JScript加载二进制数据。这里有一个简单的解决方案吗?
答案 0 :(得分:37)
我确信自从这个问题得到解答以来,这是今年的新功能,但我想无论如何都会添加它:
现在,URL文本框右侧的Composer中有一个蓝色的“[上传文件]”链接。这将创建完整的multipart / form-data请求。如果你使用它,你会注意到你的身体现在有这样的东西:
< @INCLUDE C:\ Some \ Path \ my-image.jpg @>
在我的情况下,我只是想直接发布二进制文件,没有多部分垃圾,所以我只是把< @INCLUDE ... @>请求正文中的魔法,并将二进制文件作为正文发送。
答案 1 :(得分:12)
为了发送 multipart / form-data ,我们会帮助您提供这种收据。
在上面板(Http标题)中,设置Content-Type
如下所示。其他值会自动解决。
Content-Type: multipart/form-data; boundary=-------------------------acebdf13572468
并在下面的面板中输入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--
导入规则是,
Content-Type
应该有两个-
符号,而不是正文中的边界词。-
标志结束。答案 2 :(得分:5)
在Fiddler脚本中:(在Fiddler:Rules ... Customize Rules中),找到OnBeforeRequest函数,并添加一行类似于:
if (oSession.uriContains("yourdomain"))
{
oSession.LoadRequestBodyFromFile("c:\\temp\\binarycontent.dat");
}
答案 3 :(得分:1)