wgetを使用してファイルをダウンロードする方法とページからダウンロードを待つ方法は何ですか?

wgetを使用してファイルをダウンロードする方法とページからダウンロードを待つ方法は何ですか?

wgetを使用してsourceforgeからファイルをダウンロードしようとしていますが、私たち全員が知っているように、ダウンロードボタンをクリックして自動的にダウンロードされるのを待つ必要があります。 wgetを使用してこれらの種類のファイルをどのようにダウンロードできますか?

私はこれをダウンロードしようとしています:http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.1/bitcoin-0.8.1-linux.tar.gz/download

ただし、URLリンクでwgetを実行すると、ファイルはブラウザを介して自動的にロードされるため、ファイルをインポートできません。

答え1

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.

よりカールマンページ詳細については。

答え2

「Content-Disposition」ヘッダーを使用して、ダウンロードしたファイルの名前を説明するいくつかのファイルをダウンロードするCGIプログラムに便利なオプションを使用wgetできます。--content-disposition

例では:

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

より複雑なソリューション(認証が必要な場合)の場合は、Cookieファイル(--load-cookies file)を使用してセッションをシミュレートします。

答え3

wgetあなたとsourceforgeの間にどのバージョンのOSとエージェントが存在するのかわかりませんが、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'

関連情報