2013-04-04 44 views
0

我正在使用WWW :: Mechanize將網站中的產品目錄轉化爲我們的數據庫(Ingram Micro)。一切都在SSL。WWW :: Mechanize出現隨機錯誤:不支持協議方案'https'(LWP :: Protocol :: https未安裝)

我收到的隨機誤差如下所示:

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

...但是,LWP ::協議:: HTTPS 安裝。事實上,大部分時間一切正常。我唯一能想到的是,這與在Windows上使用線程有關(該過程將作業分成25個線程,以彌補Ingram網站傳遞每個頁面所花費的時間)。當我使用單個線程時,我還沒有看到錯誤(到目前爲止)。

錯誤不會每次都發生,一般只發生一個線程,其餘線程可以不收到它。

但是,這真的很奇怪。我想知道這裏有沒有人曾經見過這樣的事情,或者如果有人知道爲什麼會發生這種情況。

感謝,

舊金山

編輯:以防萬一有人想知道,我的Windows 7 64位和Perl 5.16.3 64與MSVC10建。

回答

1

這可能是一個模塊不是線程安全的問題。請參閱this Perlmonks discussion,關於LWP和https。

線程(er ...討論)也提供了一些潛在的解決方案。

+0

有趣的是,感謝您的鏈接。這對Perl來說是一個令人傷心的問題,甚至比迄今尚未修復的問題還要嚴重。 – 2013-04-04 16:26:51

0

溶液我用的是在每個線程的與所克隆的​​版本工作的開始和克隆機械化對象。但正如我所說我使用WWW::Mechanize不是簡單LWP

$mech = $mech->clone(); 
+0

我實際上是在每個線程創建後立即創建一個WWW :: Mechanize的新實例。我想這應該與克隆(或更好)一樣好,如果那是問題。無論如何,我會嘗試。 – 2013-04-04 17:10:07

相關問題