Wget

提供: ArchWiki
2023年11月21日 (火) 06:44時点におけるKgx (トーク | 投稿記録)による版 (→‎インストール: 同期)
ナビゲーションに移動 検索に移動

GNU Wget は広く使われているインターネットプロトコルである HTTP, HTTPS, FTP, FTPS (1.18 以降) を使用してファイルを取得するためのフリーソフトウェアパッケージです。非対話型のコマンドラインツールなので、スクリプトから簡単に呼び出すことができます。

インストール

pacman を使って wget パッケージを インストール してください。AURgit バージョンが存在します: wget-gitAUR

設定

設定は /etc/wgetrc で行います。デフォルトの設定ファイルはドキュメントがよく整理されているだけでなく、変更する必要は基本的にありません。複雑なオプションについては wget(1) § OPTIONS ページを見て下さい。

FTP の自動化

大抵、ネットワーク上で安全にファイルを転送したいときは SSH が使われますが、SSH で scp や rsync を使うよりも FTP の方がリソースの消費が抑えられます。FTP はセキュアではありませんが、ファイアウォールで保護されている環境で、CPU が制約されるようなシステムで巨大なデータを転送する場合、FTP を使用するのが理にかなっています。

# wget ftp://root:somepassword@10.13.X.Y//ifs/home/test/big/"*.tar"
3,562,035,200 74.4M/s   in 47s

上記の例では、Wget は 3.3 GB のファイルを 74.4MB/s の速度で転送しています。

以下の利点があります:

  • スクリプトに組み込める
  • ssh よりも高速
  • 簡単に文字列を置換できる
  • globbing 機能

プロキシ

Wget は通常のプロキシ環境変数を使います。参照: プロキシ設定

プロキシ認証機能を使うには:

$ wget --proxy-user "DOMAIN\USER" --proxy-password "PASSWORD" URL

HTML 認証フォームを使用するプロキシは利用できません。

pacman インテグレーション

pacman で Wget を使ってプロキシ認証を自動的に行わせたい場合、/etc/pacman.conf[options] セクションに Wget コマンドを記述します:

XferCommand = /usr/bin/wget --proxy-user "domain\user" --proxy-password="password" --passive-ftp -q --show-progress -c -O %o %u
警告: プレーンテキストにパスワードを保存することは安全ではありません。chmod 600 /etc/pacman.conf で root しかファイルを読めないようにしてください。

使用方法

このセクションでは Wget のユースケースを紹介します。

基本的な使い方

Wget の最も一般的なユースケースはインターネットからのファイルのダウンロードでしょう。

$ wget <URL>

ダウンロードするファイルの URL を既に知っている場合、ブラウザでダウンロードして適当なディレクトリに手動で移動するよりも素早くダウンロードができます。もちろん、単純な使い方以外にも、必要であればダウンロードの自動化を行うことができます。

ウェブサイトの完全なアーカイブを作成

Wget はウェブサイトの完全なアーカイブ作成を行うことができます。絶対リンクを相対リンクに変更することでリンクが切れないようにします。

$ wget -np -r -k 'http://your-url-here'

動的なウェブサイトの場合、静的な HTML に変換するためにいくつかの追加オプションが利用可能です。​ ​

$ wget -r -np -p -E -k -K 'target-url-here'

wget は、ダウンロード防止メカニズムを回避するためのオプションもあります。 ​

$ wget -r -np -k --random-wait -e robots=off --user-agent "Mozilla/5.0" 'target-url-here'

​ また、サードパーティのコンテンツをダウンロードに含める場合は、-r と一緒に -H スイッチを使って、リンクされたホストに再帰することができます。

翻訳ステータス: このページは en:Wget の翻訳バージョンです。最後の翻訳日は 2021-12-07 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。