【发布时间】:2011-12-11 17:43:27
【问题描述】:
我是WWW::Mechanize 的新手,但我知道如何登录,然后知道如何在我登录时使用follow_link 方法访问其他页面。但是当我想直接访问一个链接时,不是在页面上,我失去了身份验证。
问题的快速示例:
my $LoginURL = "http://www.website.com/user/login.jsp?";
my $DirectURL= "/Somefile?param1¶m2";
$mech = WWW::Mechanize->new();
$mech->get($LoginURL);
$mech->submit_form( ... ); # fields and stuff, works fine.
$mech->get($DirectURL); # This part fails and I'm using the direct URL.
我了解如何登录,并且可以使用follow_link 方法进行导航,但是当我想使用get 方法访问不在页面上的 URL 时,我只是失去了身份验证。
当我想要访问不在当前页面上的直接 URL 时,我必须做什么才能保持身份验证?
【问题讨论】:
-
如果你在浏览器中做同样的事情,它会起作用吗?该页面是否包含 URL (GET) 的一些信息?我能够登录到一个页面,然后直接导航到另一个页面,仍然处于登录状态。
-
@choroba :使用浏览器登录页面时,可以直接导航。但是当我在这里做同样的事情时,我失去了我的身份验证(我猜是 cookie 和会话)。我简直无法理解为什么我什么时候可以使用 follow_link 而不是 get,因为 follow_link 基本上是通过分析 Mechanize 的源代码得到的命令。
-
用 & 替换 & 怎么样?在网址中?
标签: perl authentication mechanize