大容量ファイルのダウンロードの場合、aria2は-x 16 -s 32をサポートし、これらのオプションはマルチスレッドマルチチャンクダウンロードに使用されます。
Python asyncioを使用すると、ファイルサイズを取得し、ファイルサイズに基づいてチャンク部分を作成し、各チャンクを一時ファイルに並列に要求してリンクすることでこれを行うことができます。
カール/wget + bash +xargs/parallelユーティリティを使用して同じことを実行できます。
使用
- ボリュームヘッダーの要求とフルサイズのインポート
- ブロック範囲の作成
- カール --range オプションは、各チャンクを並列にダウンロードします。(並列性の最新のカール-Zサポートまたは以前のカールでは、xargs -Pまたはgnuパラレル-Jオプションを使用してください)
- すべての部品を組み合わせる
誰でもbash機能を作成するのに役立ちますか?セーフ デバイス - ファイルが正常にダウンロードされるまで True が繰り返される間、サーバーのロードと空のブロックまたは一時 IP 禁止の場合のエラー処理と再試行
誰かが説明できますか? idmやaria2などのツールでは、サーバーへの複数の接続を作成して、-x 16および-s 32オプションがどのように機能するかをダウンロードすることを読んだ。マルチスレッドパラレルダウンロードにマルチ接続生成を使用する方法とCall + bashを使用してこれを達成する方法