3

インターネットからファイルをダウンロードするアプリケーションを開発しています。ファイルは主にftpサーバーにあり、ファイルを取得する機能を使用していますLWP::Simplegetstoreしかし、私はダウンロードの速度を制限したいと思いwgetます...

or内に実装された--limit-ratefromに似たものを見たことがありますか??wgetLWPLWP::Simple

ありがとう

4

3 に答える 3

2

あなたの主な関心事がFTPサーバーであるなら、多分Net :: FTP::Throttleを見てください。コンストラクターで最大レートを設定できます。

于 2011-03-14T18:56:11.713 に答える
2

そのようなオプションはありません。

コールバックを使用して応答本文を取得する場合、目的のレートを提供するために必要な場合は、(sleep() を使用して) コールバックを意図的に遅くすることができます。

もちろん、LWP を完全に回避することもできます。たとえば、シェルアウトして callwgetなどを呼び出すことができますcurlWWW::Curlなどの別のモジュールを使用することもできます。

更新: 最後の段落を追加しました。

于 2011-03-14T17:44:26.930 に答える
0

...または、libcurlよりもLWPを使用できます:)

#!/usr/bin/env perl
use common::sense;

use LWP::Protocol::Net::Curl MAX_RECV_SPEED_LARGE => 10240; # 10 KB/s
use LWP::Simple;

getstore 'http://www.cpan.org/src/5.0/perl-5.16.2.tar.gz' => 'perl.tar.gz';
于 2012-11-13T00:44:57.160 に答える