2016-10-12 64 views
1

有沒有一種方法可以檢查LWP :: UserAgent是否可以使用?什麼代碼檢查LWP :: UserAgent是否可以使用?

可能的是,該效應初探的code,例如一個get請求,可以始終返回500,並且在一個status_line消息可以是500 HTML::Parser object version 3.35 does not match bootstrap parameter 3.72

+0

您可以在您看到該問題的地方發佈您的@ @ INC'的內容以及'$ HTML :: Parser :: VERSION'的內容。你可以將這些加入你的問題。 – simbabque

+0

另外,你可以如何使用LWP :: UserAgent?我改變了我的HTML :: Parser來加載錯誤的版本,但是我的$ ua = LWP :: UserAgent-> new;我的$ res = $ ua-> get('http://example.org');'給我一個200.你在做別的事情嗎?我不認爲LWP :: UA甚至使用HTML :: Parser。當我用改變的HTML :: Parser代碼嘗試使用WWW :: Mechanize時,它會立即中斷並拋出一大堆錯誤並停止編譯。 **你沒有告訴我們所有的事情**。 – simbabque

回答

4

看起來你的Perl安裝有點壞。 重試請求不會修復它。

此錯誤消息來自XSLoader。 The ExtUtils::MakeMaker toolchain documentation解釋這一點:

XS碼是模塊版本號非常敏感,如果你的Perl模塊中的版本號不匹配會抱怨。如果更改模塊的版本號而不重新運行Makefile.PL,則舊版本號將保留在Makefile中,從而導致XS代碼的編號錯誤。

XSLoader distribution brings a unit test以確保發生這種情況。

在消息

500 HTML解析器::對象版本3.35不匹配的引導參數3.72

它說,你HTML::Parser的Perl模塊版本3.35,但它會嘗試加載XS庫是3.72版(這是當前版本)。 In line 11 of HTML::Parser它確實是XSLoader::load('HTML::Parser', $VERSION),正好在它上面定義$VERSION爲3.72。所以這應該工作。

目前尚不清楚你在做什麼,以及你正在使用哪些模塊,但我建議你重新安裝HTML :: Parser。除非增加更多信息,否則我不能多說。


我用grep.cpan.me,它允許你在CPAN上所有文件的grep發現這一點。我搜索了does not match bootstrap parameter

+2

感謝您提及[grep.cpan.me](http://grep.cpan.me)。我正在尋找一個類似的工具。 –

+0

我已經解決了這個問題,但我想找到一種方法來檢查LWP :: UserAgent是否具有所有必需的和正確的依賴關係。因此,我檢查後,我可以舒適地使用LWP :: UserAgent-> new() - > get('http://ya.ru')。 – osiv

+0

@ osiv而不知道你在做什麼,這很棘手。通常如果一個依賴關係不存在,它就會「死掉」。但你的不。我不知道爲什麼不。 – simbabque

相關問題