1つの--proxyオプションの後に2つのURLを置くと、両方とも同じプロキシを通ります。各ダウンロードに別の経路が必要なら、curlに転送境界を指定します。

curl --proxy http://203.0.113.10:8080 \
  --output first.html https://example.com/ \
  --next \
  --proxy http://203.0.113.20:8080 \
  --output second.html https://example.org/

2つのプロキシアドレスはプレースホルダーです。サービスまたはHTTPプロキシ一覧からHTTPエンドポイントを選びます。--nextオプションは新しいローカルオプションで別の転送を開始します。2つ目のプロキシを明示し、境界前のオプションは後でも再指定が必要になる場合があります。

これは順番に実行する例です。宛先、出力ファイル、プロキシの対応を確認しやすくなります。curlは並列転送もサポートしますが、並列化はスケジュールを変えるだけで、URLごとのプロキシを自動選択しません。

ペアを含むテキストファイルに注意する

proxy-address destination-urlを含む行はアプリケーションの形式です。curlは任意のテキストから列の意味を推測しません。シェルループや生成したcurl設定などで各レコードを明示的なオプションに変換します。

引数は引数として扱います。信頼できないURLを連結してコマンドを作ると、空白やシェル文字で意味が変わる可能性があります。繰り返し処理では、curlの文書化された設定ファイル構文の方がレビューしやすいでしょう。

各転送の結果を個別に記録し、タイムアウトと失敗処理を必要な転送に関連付けます。

関連記事