2016-10-12 5 views
1

LWP :: UserAgentを使用する準備ができていることを確認する方法はありますか?LWP :: UserAgentを使用する準備ができているかどうかを調べるコードはありますか?

REPONSEの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を変更しましたが、 'my $ ua = LWP :: UserAgent-> new;私の$ res = $ ua-> get( 'http://example.org');は私に200を与えます。私はLWP :: UAがHTML :: Parserを使っているとは思わない。変更されたHTML :: ParserコードでWWW :: Mechanizeを試してみると、すぐに壊れてエラーとコンパイルが停止します。 **あなたは私たちにすべてを教えていない**。 – simbabque

答えて

4

Perlのインストールが少し壊れているようです。 要求を再試行しても問題は解決されません。

このエラーメッセージはXSLoaderからのものです。 はこれを説明しています:

XSコードは、モジュールのバージョン番号に非常に敏感で、あなたのPerlモジュールのバージョン番号が一致しない場合には不平を言います。 Makefile.PLを再実行せずにモジュールのバージョン#を変更すると、古いバージョン番号がMakefileに残り、XSコードが間違った番号で作成されます。

XSLoader distribution brings a unit testこれが起こっていることを保証するために。あなたのメッセージで

500 HTML :: Parserオブジェクトのバージョン3.35は、ブートストラップパラメータと一致していない3.72

それはあなたのHTML::Parser Perlモジュールがバージョン3.35を持っていると言うが、それはロードしようバージョン3.72(現在のバージョン)のXSライブラリ。 In line 11 of HTML::ParserXSLoader::load('HTML::Parser', $VERSION)であり、そのすぐ上には$VERSIONが3.72と定義されています。そうすればうまくいくはずです。

正確に何をしているのか、どのモジュールを使用しているのかは不明ですが、HTML :: Parserを再インストールすることをお勧めします。あなたがもっと情報を追加しない限り、私はもっと言い表すことはできません。


私はあなたがCPAN上のすべてのファイルにgrepをすることを可能にする、grep.cpan.meを使用してこれを見つけました。私はdoes not match bootstrap parameterを探しました。

+2

[grep.cpan.me](http://grep.cpan.me)に言及してくれてありがとう。私は同様のツールを探していました。 –

+0

私はこの問題を修正しましたが、LWP :: UserAgentがすべての必要かつ正しい依存関係を持っていることを確認する方法を探したいと思います。だから私はそれをチェックした後、私はcozily LWP :: UserAgent-> new() - > get( 'http://ya.ru')を使うことができます。 – osiv

+0

@osivあなたがしていることを正確に知らなくてもそれは難しいです。通常、依存関係が存在しない場合、それは「死ぬ」べきです。しかし、あなたはそうではありません。なぜ私は知らない。 – simbabque

関連する問題