使用LWP设置下载速度 - Perl

时间:2011-03-14 17:39:53

标签: perl wget lwp

我正在开发一个从互联网下载文件的应用程序;这些文件主要位于 ftp 服务器中,我使用LWP::Simplegetstore函数来检索文件。但我想限制下载速度,例如wget ...

您是否看到类似于--limit-ratewget内实施的LWP {/ 1}}的内容

由于

3 个答案:

答案 0 :(得分:2)

没有这样的选择。

如果您使用回调来获取响应正文,则可以在必要时故意减慢回调(使用sleep())以提供所需的速率。

当然,你也可以完全避免使用LWP。例如,你可以打电话给wgetcurl或其他任何东西。您还可以使用其他模块,例如WWW::Curl

更新:添加了最后一段。

答案 1 :(得分:2)

如果您的主要问题是FTP服务器,请查看Net::FTP::Throttle。您可以在构造函数中设置最大速率。

答案 2 :(得分:0)

...或者您可以使用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';