我正在开发一个从互联网上下载文件的应用程序;这些文件主要在ftp服务器上,我用LWP::Simple
和getstore
函数来检索文件。但我想限制下载速度,就像在wget
......用LWP设置下载速度 - Perl
你见过类似--limit-rate
从wget
内LWP
或LWP::Simple
实现什么?
谢谢
我正在开发一个从互联网上下载文件的应用程序;这些文件主要在ftp服务器上,我用LWP::Simple
和getstore
函数来检索文件。但我想限制下载速度,就像在wget
......用LWP设置下载速度 - Perl
你见过类似--limit-rate
从wget
内LWP
或LWP::Simple
实现什么?
谢谢
如果您主要关心的是FTP服务器,也许看看Net::FTP::Throttle。您可以在构造函数中设置最大比率。
没有这样的选择。
如果您使用回调来获取响应主体,您可以在必要时有意识地减慢回调(使用sleep())以提供所需的速率。
当然,你也可以完全避免LWP。例如,你可以掏出电话wget
,curl
或其他任何东西。您也可以使用其他模块,如WWW::Curl。
更新:添加最后一段。
...或者你可以使用LWP over libcurl :)
#!/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';