Как загружать файлы с помощью 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 не приведет меня к файлу, так как файл автоматически загружается через браузер.

  • Будет ли wget -k по-прежнему преобразовывать ссылки в относительные пути, если wget остановлен преждевременно?
  • Как использовать wget для загрузки с хостинговых сайтов?
  • wget для рекурсивной загрузки файлов dxf
  • Как заставить wget загружать рекурсивное объединение --прихват с --exclude-каталогами?
  • Почему wget игнорирует некоторые файлы в передаче ftp?
  • Возобновить загрузку wget из другого зеркала
  • Как заставить wget конвертировать * все * загруженные ссылки в относительные?
  • Почему wget не работает через туннель ssh? Что делает прокси-сервер для предотвращения использования ssh-client?
  • 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 ) для имитации сеанса.

    Linux и Unix - лучшая ОС в мире.