8

ftpサーバーからそれぞれ50〜100MBのチャンクで巨大なファイルをダウンロードしたいと思います。各ポイントで、「開始」ポイントと必要なチャンクの長さを設定できるようにしたいと思います。「以前の」チャンクをローカルに保存しません(つまり、プログラムにダウンロードを「再開」するように依頼することはできません)。

それについて行く最良の方法は何ですか?私はwget主に使用しますが、他の何かがより良いでしょうか?


この目的でライブラリを使用するのではなく、ビルド済み/ビルド内の関数に本当に興味があります... wget/ ftp(また、私は思う)はダウンロードの再開を許可するので、それが問題になるかどうかはわかりません。 ..(私はすべてのオプションから理解することはできませんが!)


巨大なファイル全体を最後まで残したくはありません。チャンクで処理するだけです...すべて-FTPダウンロードを続行してから再接続するのは興味深いと思います。

4

3 に答える 3

20

wgetを使用する:

-cオプション

マニュアルページからの抜粋:

-c/--続行

部分的にダウンロードされたファイルの取得を続行します。これは、Wgetの以前のインスタンスまたは別のプログラムによって開始されたダウンロードを終了する場合に役立ちます。例えば:

               wget -c ftp://sunsite.doc.ic.ac.uk/ls-lR.Z

現在のディレクトリにls-lR.Zという名前のファイルがある場合、Wgetはそれがリモートファイルの最初の部分であると見なし、ローカルファイルの長さに等しいオフセットからの取得を続行するようサーバーに要求します。 。

于 2010-05-08T05:44:56.927 に答える
4

コマンドラインカールを使用したい人のために、ここに行きます:

curl -u user:passwd -C - -o <partial_downloaded_file> ftp://<ftp_path>

-u user:pass匿名アクセスのために除外します)

于 2016-06-23T08:57:09.530 に答える
1

選択した言語のlibcurlとのインターフェースをお勧めします。

于 2010-05-08T05:02:47.233 に答える