我试图直接将二进制文件数据添加到POST请求的正文中,以便模拟文件上传。然而,我尝试设置“请求前”断点并使用“插入文件”,但似乎无法使其工作。我还尝试修改CustomRules.js以注入该文件,但无法弄清如何通过JScript加载二进制数据。这里是否有简单的解决方案?
我试图直接将二进制文件数据添加到POST请求的正文中,以便模拟文件上传。然而,我尝试设置“请求前”断点并使用“插入文件”,但似乎无法使其工作。我还尝试修改CustomRules.js以注入该文件,但无法弄清如何通过JScript加载二进制数据。这里是否有简单的解决方案?
我相信这是自那个问题得到回答以来的一个新功能,但还是想加上它:
现在,在Composer中,在URL文本框下的右侧有一个蓝色的 “[上传文件]” 链接。这将创建一个完整的multipart/form-data请求。如果您使用此选项,您会注意到在请求正文中,现在有类似于以下内容:
<@INCLUDE C:\Some\Path\my-image.jpg@>
在我的情况下,我只想直接POST二进制文件而没有多余的“multipart”。因此,我只需将 <@INCLUDE…@> 魔术代码放入请求正文中,这样就会将二进制文件发送为正文。
在上方面板(Http header)中设置Content-Type
。其他值将自动解决。
Content-Type: multipart/form-data; boundary=-------------------------acebdf13572468
请在下面的面板中输入响应正文,如下所示。
---------------------------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
中应该比正文中的分界词多两个 -
符号。-
符号结束。if (oSession.uriContains("yourdomain"))
{
oSession.LoadRequestBodyFromFile("c:\\temp\\binarycontent.dat");
}