Как загружать файлы с помощью wget, где страница заставляет вас ждать загрузки?

Я пытаюсь загрузить файл из sourceforge с помощью wget, но, как мы все знаем, мы должны нажать кнопку загрузки, а затем дождаться его автоматической загрузки. как вы загружаете этот тип файла с помощью wget?

Я пытаюсь загрузить это: http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.1/bitcoin-0.8.1-linux.tar.gz/download

Но выполнение wget на этой ссылке url не приведет меня к файлу, так как файл автоматически загружается через браузер.

3 Solutions collect form web for “Как загружать файлы с помощью wget, где страница заставляет вас ждать загрузки?”

Я не уверен, какая версия wget или ОС и любой прокси существует между вами и исходным кодом, но wget загрузил файл, когда я удалил «/ download» и оставил его в расширении файла.

Я не хочу наводнять почту или пассировать всю мою сессию, но до того, как передача началась, я получил коды статуса 302, а затем 200. Что произойдет, когда вы попробуете wget ?

 Resolving downloads.sourceforge.net... 216.34.181.59 Connecting to downloads.sourceforge.net|216.34.181.59|:80... connected. HTTP request sent, awaiting response... 302 Found [snipped for brevity] HTTP request sent, awaiting response... 200 OK Length: 13432789 (13M) [application/x-gzip] Saving to: `download' 

Я бы предложил использовать curl для этого вместо wget . Он может следовать перенаправлению с помощью переключателей -L , -J и -O .

 curl -O -J -L http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.1/bitcoin-0.8.1-linux.tar.gz/download 

определения переключателей

 -O/--remote-name Write output to a local file named like the remote file we get. (Only the file part of the remote file is used, the path is cut off.) -L/--location (HTTP/HTTPS) If the server reports that the requested page has moved to a different location (indicated with a Location: header and a 3XX response code), this option will make curl redo the request on the new place. If used together with -i/--include or -I/--head, headers from all requested pages will be shown. When authentication is used, curl only sends its credentials to the initial host. If a redirect takes curl to a different host, it won't be able to intercept the user+password. See also --location-trusted on how to change this. You can limit the amount of redirects to follow by using the --max-redirs option. -J/--remote-header-name (HTTP) This option tells the -O/--remote-name option to use the server-specified Content-Disposition filename instead of extracting a filename from the URL. 

Более подробную информацию см. В справочной странице curl man .

В wget вы можете использовать --content-disposition которая полезна для некоторых программ CGI, загружающих файлы, которые используют заголовки Content-Disposition для описания того, что должно быть именем загруженного файла.

В примере:

 wget --user-agent=Mozilla --content-disposition -E -c http://example.com/ 

Для более сложных решений (например, требуется авторизация) используйте файл cookie (файл --load-cookies file ) для имитации сеанса.

  • Как создать локальную копию полного раздела веб-сайта из OSX с помощью wget?
  • Запуск тысяч параллельных фоновых процессов в сценарии bash
  • wget изменяет имя файла после загрузки
  • Почему команда curl использует URL-адреса с параметрами ввода
  • Могу ли я получить wget -x для загрузки структуры папок, но не создать каталог домена?
  • Игнорировать «другие» домены при загрузке с помощью wget?
  • загружать только первые несколько байтов исходной страницы
  • Wget - зеркальное отображение полного сайта с реквизитами на разных сайтах
  • wget и cURL - явный адрес IPv6
  • Проблема с рекурсивной загрузкой с помощью wget
  • попробуйте загрузить файл с сервера, если известен путь
  • Linux и Unix - лучшая ОС в мире.