3

我正在尝试使用 WWW::Mechanize 登录雅虎。但是,当我尝试获取登录页面时,它给出了错误

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 会导致同样的失败。-_-

第三次编辑:谢谢你们帮助我,伙计们。这么晚才回复很抱歉。这是 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 兆的磁盘空间。

OpenSSL 已经在系统上,但今天早上我通过从镜像下载压缩包并编译它,在我的主目录中安装了另一个 OpenSSL。显然它似乎是最新版本。

一件事要杀了我。我没有root权限做任何事情。这个项目将于周五到期,所以我想我会放弃这个并做一些根本不涉及 HTTPS 的事情。

我读到我只需要对 openssl-devel 进行 yum 安装,但没有 root 权限我不能这样做。如果有人知道该怎么做,请告诉我。

我会尝试你的建议,强制安装 Net::SSLeay,稍后再告诉你。

现在我尝试将 Mech 安装在其他目录中(远离 5.8.7 的东西),但它失败了......呃......

第 4 次编辑:我强行安装了 Net::SSLeay。这是日志:它不起作用。您对 SSL 库是正确的。

第五次编辑:YAAAAAAAAAAAAAAAAYYYY!老师安装了openssl-devel,现在可以了!!!!!!!!!

4

2 回答 2

3

WWW::Mechanize 在后台使用 LWP::UserAgent(作为基类)来获取 url。从文档中,我看到您需要安装LWP::Protocol::https以支持 https url。

于 2011-05-18T00:21:45.750 回答
2

安装细节取决于您的平台。你基本上需要:

1) OpenSSL 库 2) Net::SSLeay Perl 绑定模块

于 2011-05-18T00:21:20.923 回答