単一の接続でwgetと並列にファイルをダウンロードする

単一の接続でwgetと並列にファイルをダウンロードする

この質問は後続の質問です。wgetを使用して複数のファイルを同時にダウンロードする方法は?

この質問と同様に、多くのファイルをダウンロードする必要があります。上記の回答によるとお勧めですcat url-list | parallel -j8 wget {}。ただし、これには各URLのTCP接続とhttps / TLSネゴシエーションが必要です。これはクライアントとサーバー側の両方で無駄です。

すべてのURLが同じサーバーにある場合は、GET /object.txt単一のTCP / HTTP接続を介して複数のクエリを実行できます。

Q:wgetでこれを行う方法はありますか?

答え1

Wgetはこれをデフォルトで行います(--no-http-keep-aliveオフ)。複数の連続URLが同じサーバーにある場合は、同じ接続を再利用します(サーバーが必要な場合)。

parallelwgetにあまり頻繁に呼び出すように指示する必要があります。-X各呼び出しのパラメータを集計するために渡されます。

cat url-list | parallel -j8 -X wget

関連情報