Как дублировать запрос, используя wget (или curl) с необработанными заголовками? - PullRequest
15 голосов
/ 01 октября 2011

Я удалил некоторые 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 я знаю, что могу установить некоторые из этих параметров по отдельности, но есть ли более простой способ отправить запрос со всеми этими переменными из командной строки?

Ответы [ 2 ]

16 голосов
/ 01 октября 2011

Да, вам просто нужно объединить все заголовки, используя --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 хостинга

4 голосов
/ 27 августа 2014

Вот 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.

...