1

lftp非常に大きなファイルを ftp 経由でダウンロードするために使用しようとしています。しかしpget、私が見ることができる限り、1 つの TCP 接続しか開いていませんnetstat -na。これが私のコマンドとデバッグ出力です:

脚本:

open -u username,password aftp.linksynergy.com
pget -n 5 /36342_2923873_mp.txt.gz -o buy.com.csv.gz

走る:

user@db1:/mnt/tmp/lftp_test$ lftp -d -f lfscript
---- Resolving host address...
---- 1 address found: 63.123.248.17
---- Connecting to aftp.linksynergy.com (63.123.248.17) port 21
<--- 220 gcws3002.private.linksynergy.com FTP server (Version wu-2.6.2-9) ready.
---> FEAT
<--- 530 Please login with USER and PASS.
---> AUTH TLS
<--- 500 AUTH command not supported.
---> USER username
<--- 331 Password required for username.
---> PASS *******
<--- 230 User username logged in.
---> FEAT
<--- 500 'FEAT': command not understood.
---> PWD
<--- 257 "/" is current directory.
---> TYPE I
<--- 200 Type set to I.
---> SIZE /36342_2923873_mp.txt.gz
<--- 550 /home/client/username//36342_2923873_mp.txt.gz: not a plain file.
---> MDTM /36342_2923873_mp.txt.gz
<--- 550 //36342_2923873_mp.txt.gz: No such file or directory.
---> PASV
<--- 227 Entering Passive Mode (63,123,248,17,29,90)
---- Connecting data socket to (63.123.248.17) port 7514
---- Data connection established
---> RETR /36342_2923873_mp.txt.gz
<--- 150 Opening BINARY mode data connection for /home/upload/upload_bin/affiliate_download/get_merchandiser_file.pl.

マルチスレッド ダウンロードは、私がテストした別のサーバー (テスト用の apache ミラー サイト) でも機能することに注意してください。したがって、これは、この特定のケースでの FTP サーバーのサポートされていない機能に過ぎないと思います。

4

1 に答える 1

4

あなたはかなり正しいです。出力からわかるように、サーバーは、サーバーが RESTart コマンド (RFC3659 セクション 5.4) をサポートしているかどうかを判断するために使用される FEAT コマンドに応答しません。

並列 FTP ダウンロードは、N ポイントからダウンロードを再開するふりをして、各ポイントからファイルの 1/N を読み取り、結果を結合することに基づいています。REST はサーバーでサポートされていないため、クライアントはこれを行うことができません。

于 2012-12-15T19:48:39.570 に答える