WWW :: Mechanize->得到错误(不支持HTTPS)

时间:2011-05-18 00:12:56

标签: perl https perl-module www-mechanize

我正在尝试使用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导致同样的失败。 -_-

编辑第三次:感谢帮助我,伙计们。这么晚才回复很抱歉。这是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,从镜像下载tarball并进行编译。显然它似乎是最新版本。

有一件事就是杀了我。我没有root权限可以做任何事情。这个项目将在星期五到期,所以我想我会废弃这个并做一些根本不涉及HTTPS的事情。

我读到我需要做一个openssl-devel的yum安装,但是如果没有root权限我就不能这样做。如果有人知道怎么做,请告诉我。

我会尝试强制安装Net :: SSLeay,并在稍后通知你。

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

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

第5编辑:YAAAAAAAAAAAAAAAAAYYY!老师安装了openssl-devel,现在它可以工作!!!!!!!!

2 个答案:

答案 0 :(得分:3)

WWW :: Mechanize使用LWP :: UserAgent(作为基类)来获取URL。从文档来看,我发现您需要安装LWP::Protocol::https来支持https网址。

答案 1 :(得分:2)

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

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