2012-03-21 7 views
0

У меня есть некоторые сомнения в команде wget. Вот что я хочу достичь. Я хочу загрузить пакет tar из этой ссылки «http://snapshots.linaro.org/oneiric/lt-origen-oneiric/20120321/0/images/hwpack/hwpack_linaro-lt-origen_20120321-0_armel_supported.tar.gz». Эта ссылка работает отлично, когда я использую ее в браузере для загрузки пакета, но когда я использую одну и ту же ссылку для ее загрузки через команду wget, ее перенаправление на «http://snapshots.linaro.org/licenses/samsung- v2.html ", которая является соглашением с лицензионным соглашением и вместо загрузки tar-файла загружает файл лицензионного соглашения. Итак, какой вариант я должен предоставить, чтобы он загрузил нужный файл tar и файл лицензионного соглашения. Пожалуйста, помогите мне в этом вопросе.wget не работает должным образом.

ответ

2

Вы должны реплицировать с помощью wget те же действия, что и с веб-браузером. Первый шаг - посмотреть, какие HTTP-запросы выполняются, когда вы запрашиваете страницу лицензии, и кнопку подтверждения.

Для этого вы можете использовать firebug или livehttpheaders. Когда у вас есть URL (с параметрами post/get param), вы можете воспроизвести его с помощью сценария оболочки и нескольких вызовов wget.

Если веб-сайт отслеживает файлы cookie, вам необходимо проинструктировать wget, чтобы сохранить их в файле cookiejar и использовать указанный cookiejar для дальнейших запросов.

В вашем случае первый запрос

GET /oneiric/lt-origen-oneiric/20120321/0/images/hwpack/hwpack_linaro-lt-origen_20120321-0_armel_supported.tar.gz HTTP/1.1 

, для которого вы получите печенье и редирект

Set-Cookie: downloadrequested=/oneiric/lt-origen-oneiric/20120321/0/images/hwpack/hwpack_linaro-lt-origen_20120321-0_armel_supported.tar.gz; path=/; domain=.snapshots.linaro.org 
Location: http://snapshots.linaro.org/licenses/samsung-v2.html 

при нажатии на кнопку принять

GET /licenses/samsung-accepted.html HTTP/1.1 

вы получите другой файл cookie и другое место (которое является файлом, который вы хотите загрузить)

Set-Cookie: samsunglicenseaccepted-v1=true; path=/oneiric/lt-origen-oneiric/20120321/0/images/hwpack/; domain=.snapshots.linaro.org; expires=Wed, 21-Mar-2012 17:37:57 GMT 
Location: http://snapshots.linaro.org/oneiric/lt-origen-oneiric/20120321/0/images/hwpack/hwpack_linaro-lt-origen_20120321-0_armel_supported.tar.gz 
Смежные вопросы