在Perl LWP :: UserAgent中抑制“Day too big”警告

前端之家收集整理的这篇文章主要介绍了在Perl LWP :: UserAgent中抑制“Day too big”警告前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个相当简单的perl脚本,它使用LWP :: UserAgent模块通过重定向来跟踪URL,以找到它然后存储在 MySQL数据库中的最终目标URL.问题是脚本不时会报告如下所示的警告:

Day too big - 25592 > 24855
Sec too small - 25592 < 74752
Sec too big - 25592 > 11647
Day too big - 25592 > 24855
Sec too small - 25592 < 74752
Sec too big - 25592 > 11647

警告没有提供任何其他详细信息,说明为什么会发生这种情况或哪个模块导致问题,但我很确定它与LWP :: UserAgent有关.

我正在使用以下代码初始化代理:

use LWP::UserAgent;
my $ua = LWP::UserAgent->new(cookie_jar => { },requests_redirectable => [ ]);
$ua->agent('Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:9.9.9.9) Gecko/20079999 Firefox/2.0.0.1');
$ua->timeout(10);

我在网上搜索,我找到的唯一结果是以下线程从未解决http://www.mail-archive.com/libwww@perl.org/msg06515.html.线程作者认为这些警告与LWP :: UserAgent模块捕获的cookie日期有某种关联.

警告似乎没有影响脚本,但我希望有任何帮助,以更好地了解可能导致此问题的原因以及如何解决它或至少抑制警告消息的建议.在此先感谢您的帮助!

解决方法

如果升级不适合您,您当然可以使用本地$SIG {__ WARN__}处理程序过滤掉警告.

{
    local $SIG{__WARN__} = sub {
        warn @_ unless $_[0] =~ m(^.* too (?:big|small));
    };
    # your code here.
}

猜你在找的Perl相关文章