Я пытаюсь загрузить файл из sourceforge с помощью wget, но, как мы все знаем, мы должны нажать на кнопку загрузки, а затем дождаться ее автоматической загрузки. Как вы загружаете этот тип файла с помощью wget?
Я пытаюсь скачать это: http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.1/bitcoin-0.8.1-linux.tar.gz/download
Но выполнение wget по этой ссылке не даст мне файл, поскольку файл автоматически загружается через браузер.
wget --trust-server-names URL
Ответы:
Я не уверен, какая версия
wget
или ОС и какой-либо прокси существует между вами и sourceforge, ноwget
скачал файл, когда я удалил «/ download» и оставил его с расширением файла.Я не хочу залить сообщение или вставить весь сеанс, но я получил 302, а затем 200 кодов состояния до начала передачи. Что происходит, когда вы пытаетесь
wget
?источник
Я бы предложил использовать
curl
это вместоwget
. Он может следить за переадресацию с помощью переключателей-L
,-J
и-O
.переключение определений
Смотрите man-страницу curl для более подробной информации.
источник
wget
может следовать за перенаправлениями, но это не так, если вы не увеличите значение--max-redirect
по умолчанию, которое по соображениям безопасности, конечно, равно 0.wget
По умолчанию 1.19.2 это то,--max-redirect=20
что должно быть достаточно для большинства применений. Я не уверен, когда это изменилось ... или почему это было необходимо для обеспечения безопасности (необходима цитата!), Но я предполагаю, что текущим предпочтительным решением было следовать перенаправлениям и вместо этого требовать--trust-server-names
сохранения имени, предоставленного целью перенаправления, а не " скачать "или" index.html? blah = barg "или любой другой, который используется в указанном URL.curl -JLO http://www.example.com/file.ext
В
wget
вы можете использовать--content-disposition
вариант , который является полезным для некоторых файловых загрузки программ CGI , которые используют заголовки «Content-Disposition» , чтобы описать то , что имя загруженного файла должно быть.В примере:
Для более сложных решений (например, требуется авторизация) используйте cookie file (
--load-cookies file
) для имитации вашего сеанса.источник