3

我有一个相当简单的 perl 脚本,它使用 LWP::UserAgent 模块通过重定向跟踪 URL,以找到最终的目标 URL,然后将其存储在我们的 MySQL 数据库中。问题是脚本有时会报告如下所示的警告:

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 日期有关。

该警告似乎不会影响脚本,但如果能帮助我更好地理解可能导致此问题的原因以及如何解决它或至少抑制警告消息的建议,我将不胜感激。在此先感谢您的帮助!

4

2 回答 2

7

如果升级不是您的选择,您当然可以始终使用local $SIG{__WARN__}处理程序过滤掉警告。

{
    local $SIG{__WARN__} = sub {
        warn @_ unless $_[0] =~ m(^.* too (?:big|small));
    };
    # your code here.
}
于 2010-02-02T23:44:56.120 回答
5

查看更改

2009-10-06 发布 5.833

吉斯·阿斯(5):

  • 处理过期的 cookie [RT#50147]
  • 处理在 epoch 或之前过期的 cookie [RT#49467]

看起来您需要升级到最新版本的LWP

于 2010-02-02T16:33:05.423 回答