3

WWW::Mechanize を使用して Yahoo にログインしようとしています。ただし、ログインページを取得しようとすると、エラーが発生します

Error GETing https://login.yahoo.com/config/login_verify2?&.src=ym: Protocol scheme 'https' is not supported (LWP::Protocol::https not installed)

私は、Crypt::SSLeay をインストールしました。これは、HTTPS 要求を処理することになっていると思いました。なぜこのエラーが発生するのでしょうか?

スクリプトの開始時に「Crypt::SSLeay を使用する」と言っても、インストールされていないというエラーは発生しません。

YAに行きます!最初にページ (http) を開き、次に「サインイン」 (https) リンクを「クリック」しますか?

ヘルプやアドバイスをいただければ幸いです。

編集: LWP::Protocol:https をインストールしようとしましたが、失敗しました。

もう一度編集: テストを使用して Crypt::SSLeay をインストールすると、同じ失敗が発生します。-_-

編集 3 回目: みんな、助けてくれてありがとう。返事が遅れて申し訳ありません。これは Redhat 9 で、インストール全体がかなりひどいものになっています。

私の当初の目標は、WWW::Mechanize をインストールして Yahoo にログインできるようにすることでした。システム管理者 (私たちの教師) が perl 5.8.7 をインストールしていたため、インストールが失敗しました。これは、LWP::UserAgent が 5.8.8 未満のバージョンで自分自身をアップグレードできないためです。

次に、App::perlbrew を使用してホーム ディレクトリに Perl 5.10.1 をインストールし、Mech のインストールに成功しました。ただし、インストールした古いモジュール (5.8.7 を使用) を使用すると、多くの互換性の問題が発生しました。すべてをアンインストールする方法がわかりません。おそらく 15 MB のディスク容量しか残っていません。

OpenSSL はすでにシステム上にありましたが、今朝、ミラーから tarball をダウンロードしてコンパイルすることにより、ホーム ディレクトリに別の OpenSSL をインストールしました。どうやら最新版だったようです。

一つのことは私を殺すことです。何もするためのルート権限がありません。このプロジェクトは金曜日に予定されているので、これを破棄して、HTTPS にまったく関係のないことをしようと考えています。

openssl-devel の yum インストールを実行するだけでよいと読みましたが、root 権限なしでは実行できません。誰かがそれを行う方法を知っているなら、私に知らせてください。

Net::SSLeay の強制インストールを行うというアドバイスを試して、後でお知らせします。

Mech を別のディレクトリ (5.8.7 とは別の場所) にインストールしようとしましたが、失敗しました...うーん...

4回目の編集: Net::SSLeay を強制的にインストールしました。ログは次のとおりです。動作しません。あなたはSSLライブラリについて正しいです。

5 番目の編集: やあああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ!先生がopenssl-develをインストールしたところ、動作するようになりました!!!!!!!!

4

2 に答える 2

3

WWW::Mechanize は、LWP::UserAgent を内部で (基本クラスとして) 使用して URL を取得します。そのドキュメントから、 https URL をサポートするにはLWP::Protocol::httpsをインストールする必要があることがわかります。

于 2011-05-18T00:21:45.750 に答える
2

インストールの詳細は、プラットフォームによって異なります。基本的に必要なもの:

1) OpenSSL ライブラリ 2) Net::SSLeay Perl バインディング モジュール

于 2011-05-18T00:21:20.923 に答える