Wget は、HTTP、HTTPS、FTP、FTPS プロトコルを介してインターネットからファイルをダウンロードできる、無料で使いやすいコマンドライン ツールです。堅牢性を重視して設計されているため、インターネット接続が悪く不安定な場合でもファイルをダウンロードできます。接続が失敗した場合、ツールは中断したところからダウンロードを続行しようとします。さらに、Web クローラーのように機能する再帰ダウンロード機能があります。HTML ページからファイルを抽出し、すべてのページが抽出されるまで、またはユーザーが指定した再帰深度に達するまで、ファイルを順番にダウンロードします。ダウンロードされたページは、リモート サーバーの構造に似た構造で保存されます。さらに、リンクをオフライン ファイルに調整して Web サイトのミラーリングを行うこともできます。Wget は、サードパーティ ライブラリへの依存度が最小限で、移植性も高く、Windows、CygWin、macOS などの多くの Unix 系環境やシステムに移植されています。ネイティブ Windows パッケージでもあり、ユーザーの操作をほとんど必要とせずに実行されます。
では、なぜ Wget にプロキシが必要なのでしょうか? 詳しくは、以下をお読みください。
Wget にプロキシが必要なのはなぜですか?
プロキシを使用すると、Wget のエクスペリエンスが大幅に向上します。その理由を理解するために、まず Wget の仕組みを見てみましょう。たとえば、Wget を使用して 1 つまたは複数のファイルをダウンロードしたり、不完全なダウンロードを完了したり、Web スクレイピング アクティビティを行ったりすると、ボット アクティビティと見なされ、IP がブロックされる可能性があります。これを回避するには、プロキシ サーバーを使用できます。プロキシは、デバイスと Wget でアクセスしている Web サイトの間に入り、IP アドレスをマスクします。使用するプロキシの種類は、ニーズによって異なります。さらに、ダウンロード速度が遅い場合は、ダウンロード サーバーに近いプロキシを使用すると、ノードの数を減らし、帯域幅と安定性を向上させることができます。Google でキーワード検索をすると、さまざまな種類のプロキシが見つかりますが、最適なものを選択するのは難しい場合があります。
Wget に最適なプロキシ
Wget のプロキシを選択する際は、信頼性が低く、データが危険にさらされる可能性があるため、無料のプロキシを避けることが重要です。代わりに、OneProxy などのプレミアム プロキシ プロバイダーを使用することをお勧めします。住宅用プロキシとデータセンター プロキシには、考慮すべき長所と短所がいくつかあります。住宅用プロキシは、インターネット サービス プロバイダーからの本物の IP を使用するため、追跡可能で信頼性があります。一方、データセンター プロキシは、クラウド サーバー上で仮想的に生成された IP を使用するため、検出されやすくなりますが、速度が速く、コストが低くなります。OneProxy は、この分野での長年の経験と、あらゆるニーズに対応するカスタム ソリューションを備えた、一流のプレミアム プロキシ プロバイダーです。
Wget プロキシの設定方法
以下のコードは、Wget のプロキシを設定するのに役立ちます。ファイル ~/.wgetrc または /etc/wgetrc に以下の行を追加します。
http_proxy = http://[プロキシサーバー]:[ポート]
https_proxy = http://[プロキシサーバー]:[ポート]
ftp_proxy = http://[プロキシサーバー]:[ポート]
シェルでプロキシ変数を手動で設定します。
$ エクスポート http_proxy=http://[プロキシサーバー]:[ポート]
$ エクスポート https_proxy=$http_proxy
$ エクスポート ftp_proxy=$http_proxy
env コマンドを使用して変数を確認します。
$ env | grep プロキシ
http_proxy=http://[プロキシサーバー]:[ポート]
https_proxy=http://[プロキシサーバー]:[ポート]
ftp_proxy=http://[プロキシサーバー]:[ポート]
最後に、ファイル ~/.bash_profile または /etc/profile に以下の行を追加します。
1TP10エクスポート http_proxy=http://[プロキシサーバー]:[ポート]
1TP10エクスポート https_proxy=http://[プロキシサーバー]:[ポート]
1TP10エクスポート ftp_proxy=http://[プロキシサーバー]:[ポート]
!= ” != ”