Perl Mechanize绕过证书验证但遇到身份验证/登录

时间:2012-11-01 03:18:25

标签: perl https www-mechanize

我在公司网络中工作并为他们的系统开发新模块。但是,它们使所有ssl证书无效,因此我不得不绕过证书验证。

使用mechanize的函数忽略ssl,

my $mech = WWW::Mechanize->new(
ssl_opts => {
    verify_hostname => 0,
},

我能够绕过证书验证,但是遇到以下错误 Error GETing https://192.168.100.82/login;jsessionid=legizzgnfjd6g73szziuhboc: Could not resolve view with name 'auth/login' in servlet with name 'mvc'

我不明白是不是因为我无法访问https网站的未接受的证书,或者是我做错了。请帮我理解出了什么问题。

我要连接的网站是公司网络中的模块网站

这是在初始化mechanize以忽略ssl之后运行我的代码。

my $url = 'https://192.168.100.82';
$mech->get( $url );
die $mech->response->status_line unless $mech->success;

2 个答案:

答案 0 :(得分:2)

我发现能够通过使用WWW :: Mechanize :: Firefox控制firefox来成功加载页面。但缺点是它需要在能够工作之前启动firefox浏览器。

我使用cpan来安装cpanm,它允许我安装具有依赖性的模块,它会自动检测这些依赖项并将它们与您选择的模块一起安装。

首先,运行install cpan(可选),以更新cpan。并刷新reload cpan

然后输入install App::cpanminus来安装cpanm并让它做它的东西。

之后。通过在cmd中键入cpanm来关闭cpan并启动cpanm。 然后输入install WWW::Mechanize::Firefox。让它完全下载所有内容

下一步Firefox需要Mozrepl插件用于WWW :: Mechanize :: Firefox来控制浏览器,以便转到浏览器并获取插件。

完成后,在工具下,从浏览器的工具选项卡启动MozRepl,脚本就可以启动了。

P.S。 mechanize :: firefox对象仍然使用verify_hostnames=>0

初始化

答案 1 :(得分:1)

Could not resolve view with name 'auth/login' in servlet with name 'mvc'这是来自Spring Framework的错误消息。对我而言,这意味着您已通过证书检查,您将到达该站点,并且您无法使用有效的Web会话(身份验证)。我建议你替换;在网址中?传递JSESSIONID参数。