使用curl发布二进制数据



因此,基本上,我正在尝试编写一系列与Dot-Net Nuke交互的脚本。我一直在分析流量,现在可以登录并执行一些基本任务了。然而,我从未用curl处理过二进制文件上传。有人愿意看看这个来帮助我吗?以下是请求的解剖结构:

http://pastebin.com/qU8ZEMaQ

到目前为止,我对卷曲的了解如下:

http://pastebin.com/LG2ubFZG

编辑:对于懒惰-

文件的长度已实现并存储在length中
STUFF只是带有参数的请求URL的复制/粘贴,减去URL本身。

curl -L --cookie ~/.cms --data-binary "@background.jpg" 
--header "Content-Length: $LENGTH" 
--header "Content-Disposition: form-data" 
--header "name="RadFileExplorer1_upload1file0"" 
--header "Content-Type: image/jpg" 
--header "Filename="background.jpg"" 
--data $STUFF 
--referer "Kept-Secret" 
"Kept-Secret"

您不需要--header"Content-Length:$Length"

curl—请求POST—数据二进制文件"@template_entry.xml"$URL

请注意,GET请求不广泛地支持内容正文

还要记住POST请求有两种不同的编码模式。这是第一种形式:

$nc-l-p 6666&$curl—请求POST—数据二进制文件"@README"http://localhost:6666POST/HTTP/1.1用户代理:curl/7.21.0(x86_64-pc-linux-gnu)libcurl/7.21.0OpenSSL/0.9.8o-zlib/1.2.3.4 libidn/1.15 libssh2/1.2.6主机:localhost:6666接受:*/*内容长度:9309内容类型:application/x-www-form-urlencoded预期:100继续..-*-模式:rst;编码:cp1251;填充柱:80-*-..rst2html.py自述自述.html..内容:

你可能会要求这个:

-F/--表单名称=内容(HTTP)这允许curl在用户已经按下了提交按钮。这导致curl使用Content-Type POST数据根据RFC2388的多部分/表单数据。这允许上载二进制文件等。要强制"content"部分为文件,在文件名前面加前缀带有@符号。若要仅从文件,在文件名前面加上符号<。这个@和<那么,@就做出了文件被附加在帖子中作为文件上传,而<创建一个文本字段,然后获取文件中该文本字段的内容。

相关内容

  • 没有找到相关文章

最新更新