2

我在我的公司网络中工作并为他们的系统开发一个新模块。但是,他们已使所有 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;
4

2 回答 2

2

我发现可以通过使用 WWW::Mechanize::Firefox 控制 firefox 来成功加载页面。然而,缺点是它需要启动 firefox 浏览器才能运行。

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

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

然后通过键入安装 cpanminstall App::cpanminus并让它完成它的工作。

然后。输入 cmd 关闭 cpan 并启动 cpanm cpanm。然后键入install WWW::Mechanize::Firefox。让它完全下载一切

接下来 Firefox 需要用于 WWW::Mechanize::Firefox 的 Mozrepl 插件来控制浏览器,因此请前往浏览器并获取插件。

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

PS mechanize::firefox 对象仍初始化为verify_hostnames=>0

于 2012-11-09T07:55:06.687 回答
1

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

于 2012-11-01T06:59:50.503 回答