использование командной строки curl или wget для загрузки файлов

Прошу прощения, если этот вопрос был задан ранее и если он простой.

Я пытаюсь загрузить файл с веб-сайта http на свою машину unix с помощью командной строки. Я вхожу на этот веб-сайт, используя имя пользователя и пароль.

Скажем, у меня есть эта ссылка (не рабочая) http://www.abcd.org/portal/ABCPortal/private/DataDownload.action?downloadFile=&workspace.id=4180&datasetId=76999

Скажем, если я вставлю эту ссылку в браузер, у меня откроется окно с вопросом, хочу ли я сохранить zip-файл, на который она ссылается (скажем, xyz.zip). Эти файлы имеют размер ~ 1 ГБ.

Я хочу получить этот zip-файл, который имеет этот URL-адрес, на мою машину unix с помощью командной строки. Я попытался использовать wget и curl с указанным выше URL-адресом (с указанием имени пользователя и пароля). Я получаю html-форму, но не zip-файл. Есть ли способ получить zip-файл, на который ссылается такой URL-адрес? Я ничего не знаю о структуре каталогов на машине, где находятся файлы.

Спасибо за вашу помощь,


person Sashi Kiran Challa    schedule 20.10.2010    source источник


Ответы (2)


Я думаю, вы не передали заголовок Accept-Encoding. Браузеры передают его по умолчанию, с вашими инструментами CLI вы должны сами активировать эти параметры.

Я не знаю о wget, но попробуйте с curl (-v как подробная команда, чтобы вы могли следить за заголовками запроса/ответа):

curl -v "http://www.abcd.org/portal/ABCPortal/private/DataDownload.action?downloadFile=&workspace.id=4180&datasetId=76999" -H "Accept-Encoding: gzip" > /tmp/yourZippedFile.gz

Если это не так, возможно, вы приведете пример реального сайта, чтобы мы могли проследить вашу проблему на конкретном примере. Трудно сказать, не видя HTTP-трафик.

person manuel aldana    schedule 20.10.2010
comment
Спасибо! Мне нужно было скачать ZIP и изменить кодировку на Accept-Encoding: zip, и это сработало отлично. - person MikeSchinkel; 09.08.2012

К вашему сведению, для Windows curl мне нужно добавить User-Agent:

curl -H "Accept-Encoding: gzip,deflate" -H "User-Agent: Mozilla/5.0 (Windows NT 5.1)" www.google.com > test3.gz

потому что без User-Agent он не даст мне файл gzip

curl -H "Accept-Encoding: gzip,deflate" www.google.com > test

person Noypi Gilas    schedule 15.01.2013