WWW :: Mechanize的随机错误:协议方案' https'不支持(LWP :: Protocol :: https未安装)

时间:2013-04-04 13:04:07

标签: windows perl www-mechanize lwp-useragent

我正在使用WWW :: Mechanize将产品目录从网站篡改到我们的数据库(Ingram Micro)。一切都通过SSL。

我收到如下随机错误:

Protocol scheme 'https' is not supported (LWP::Protocol::https not installed)

...但是,安装了LWP :: Protocol :: https 。事实上,大多数时候一切都很好。我唯一能想到的是,这与在Windows上使用线程有关(该过程将作业拆分为25个线程,以补偿英格拉姆网站用于传递每个页面的长时间)。当我使用单个线程时,我还没有看到错误(到目前为止)。

错误不是每次都发生的,通常只发生在一个线程中,其余的都可以在没有接收的情况下工作。

然而,这真的很奇怪。我想知道这里是否有人曾经见过这样的事情,或者有人知道为什么会这样。

谢谢,

旧金山

编辑:万一有人想知道,我使用的是Windows 7 x64和使用MSVC10构建的Perl 5.16.3 x64。

2 个答案:

答案 0 :(得分:1)

模块可能存在线程安全问题。请参阅this Perlmonks discussion,以及LWP和https。

线程(呃......讨论)也提供了一些潜在的解决方案。

答案 1 :(得分:0)

我使用的解决方案是在每个线程的开头克隆Mechanize对象使用克隆版本。但正如我所说,我使用WWW::Mechanize而不是LWP

$mech = $mech->clone();