web-dev-qa-db-ja.com

LinuxのコマンドラインでWebサイトからファイルをダウンロードします

次のような形式のURLを持つWebサイトからファイルをダウンロードする必要があります。

http://www.server.com/downloads/1234/

これにより、保存する必要のある.Zipファイルにリダイレクトされます。ユーザー名とパスワードに基づいて認証する必要もあります。

運が悪かったので、wgetcurllynxを使おうとしました。

更新:

  • wgetはリダイレクトでは機能しません。 Zipファイルの代わりにWebページをダウンロードするだけです。
  • curlは「最大リダイレクトが> 50を超えました」というエラーを出します
  • lynxも同じエラーを出します。
2
Vicky

Wgetはリダイレクトをサポートしていますが、これは機能しますか?

wget --user=USER --password=PASS --max-redirect URL

サイトがHTTP認証を実装していない場合(GETまたはPOSTによるフォーム送信が必要)、then、さらに作業をセットアップする必要があることに注意してください(ファイルがあるサイトについてあなたが提供する情報が少ないことを考えると、良い答えを与えるのは難しいです)

wget --post-file=datafile --keep-session-cookies --max-redirect URL

datafileは次のようになります

username=USER
password=PASS

ここで、usernameおよびpasswordは、送信されるフォームフィールドの名前である必要があります。

注:サイトは実際のZipファイルにリダイレクトする必要があり、Zipファイルへのリンクがある他のページにはリダイレクトする必要はありません。この場合、CurlもWgetも役に立たないため、解析スクリプトを作成する必要があります。これらは、特定のURLからコンテンツを取得するためのツールであり、フェッチしてほしいと思う「推測」を目的としたものではありません。サーバーが送信するものをダウンロードするだけです。

3
Yanick Rochon