Linux 如何使用带有原始头的wget(或curl)复制请求?

Linux 如何使用带有原始头的wget(或curl)复制请求?,linux,debugging,unix,wget,web,Linux,Debugging,Unix,Wget,Web,我正在处理一些http请求,发现我可以获取这种格式的请求头: GET /download?123456:75b3c682a7c4db4cea19641b33bec446/document.docx HTTP/1.1 Host: www.site.com User-Agent: Mozilla/5.0 Gecko/2010 Firefox/5 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept

我正在处理一些http请求,发现我可以获取这种格式的请求头:

GET /download?123456:75b3c682a7c4db4cea19641b33bec446/document.docx HTTP/1.1
Host: www.site.com
User-Agent: Mozilla/5.0 Gecko/2010 Firefox/5
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Referer: http://www.site.com/dc/517870b8cc7
Cookie: lang=us; reg=1787081http%3A%2F%2Fwww.site.com%2Fdc%2F517870b8cc7
使用wget或curl(或其他CLI工具)重建该请求是否可能,或者是否有一种简单的方法


通过阅读wget手册页面,我知道我可以单独设置其中的几项,但是有没有更简单的方法从命令行发送包含所有这些变量的请求?

是的,您只需要使用
--header

wget --header="User-Agent: Mozilla/5.0 Gecko/2010 Firefox/5" \
--header="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" \
--header="Accept-Language: en-us,en;q=0.5" \
--header="Accept-Encoding: gzip, deflate"
--header="Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" \
--header="Cookie: lang=us; reg=1787081http%3A%2F%2Fwww.site.com%2Fdc%2F517870b8cc7" \
--referer=http://www.site.com/dc/517870b8cc7
http://www.site.com/download?123456:75b3c682a7c4db4cea19641b33bec446/document.docx
如果您试图进行非法下载,
它可能会失败,

取决于托管URL的编程方式

这里是
curl
版本:

curl http://www.example.com/download?123456:75b3c682a7c4db4cea19641b33bec446/document.docx \
-H "User-Agent: Mozilla/5.0 Gecko/2010 Firefox/5" \
-H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" \
-H "Accept-Language: en-us,en;q=0.5" \
-H "Accept-Encoding: gzip, deflate"
-H "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" \
-H "Cookie: lang=us; reg=1787081http%3A%2F%2Fwww.site.com%2Fdc%2F517870b8cc7" \
-H "Referer: http://www.example.com/dc/517870b8cc7"

在Chrome开发者工具中,您可以使用复制为cURL捕获请求,因为
cURL

工作得很好。也可以使用CURL吗?有没有办法指定标题的顺序?(对于一些奇怪的用例很重要)