2011-10-01 86 views
13

我deubgging某些HTTP請求,我發現我能搶請求頭在這種類型的格式:如何使用wget(或curl)與原始標題複製請求?

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或捲曲這個請求(或其他CLI工具?)

從閱讀wget的手冊,我知道我可以設置幾個單獨這些事情,但是否有發送與命令行所有這些變量的要求更簡單的方法?

回答

16

是的,你只需要使用--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被編程

+0

偉大的工作。這是否可以使用CURL? – cwd

4

這裏是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

+0

有沒有辦法指定標題的順序? (對於一些奇怪的用例很重要) –