Подавление предупреждения «Слишком большой день» в Perl LWP :: UserAgent - PullRequest
3 голосов
/ 02 февраля 2010

У меня довольно простой 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.Автор ветки подумал, что эти предупреждения каким-то образом связаны с датами cookie, записываемыми модулем LWP :: UserAgent.

Похоже, что предупреждение не влияет на сценарий, но я был бы признателен за любую помощь для лучшего пониманияможет быть причиной этой проблемы и советами о том, как ее решить, или, по крайней мере, подавить предупреждающие сообщения.Заранее спасибо за помощь!

Ответы [ 2 ]

7 голосов
/ 03 февраля 2010

Если обновление для вас не вариант, вы, конечно, всегда можете отфильтровать предупреждения, используя обработчик local $SIG{__WARN__}.

{
    local $SIG{__WARN__} = sub {
        warn @_ unless $_[0] =~ m(^.* too (?:big|small));
    };
    # your code here.
}
5 голосов
/ 02 февраля 2010

См. Изменения :

2009-10-06 Выпуск 5.833

Жизель Аас (5):

  • Работа с файлами cookie, срок действия которых истекает в будущем [RT # 50147]
  • Работа с файлами cookie, срок действия которых истекает до или после эпохи [RT # 49467]

Похоже, вам нужно обновить систему до самой последней версии LWP .

...