如何在不需要使用Perl时进行身份验证?

如何在不需要使用Perl时进行身份验证?,perl,web-scraping,web-crawler,Perl,Web Scraping,Web Crawler,尝试访问需要使用此代码进行身份验证的页面时: my $browser = LWP::UserAgent−>new; my $url = 'http://www.unicode.org/mail−arch/unicode−ml/y2002−m08/0067.html'; my $response = $browser−>get($url); 将生成预期的错误: Error: Basic realm="Unicode−MailList−Archives" 401 Auth

尝试访问需要使用此代码进行身份验证的页面时:

my $browser = LWP::UserAgent−>new;
my $url = 'http://www.unicode.org/mail−arch/unicode−ml/y2002−m08/0067.html';
my $response = $browser−>get($url);
将生成预期的错误:

Error: Basic realm="Unicode−MailList−Archives"
       401 Authorization Required
       at http://www.unicode.org/mail−arch/unicode−ml/y2002−m08/0067.html
这需要注意:

$browser−>credentials(
 'www.unicode.org:80',
 'Unicode−MailList−Archives',
 'unicode−ml' => 'unicode'
);
但我的问题是,当身份验证是可选的但不是必需的时,如何使用它。例如,如果我想输入到
http://www.coolstuffinc.com/user_main.php
,如果我登录,它会将我带到我的用户页面,如果我没有登录,它会将我带到主页。
如何操作?它使用我的凭据进入用户页面。

与往常一样,像您在浏览时一样:导航到登录表单,填写它,提交它,然后访问您真正想要访问的页面


登录将为您提供一个cookie,该cookie将在以后的请求中自动提交。这是网站知道谁登录的方式。

如果您导航到多个页面并且需要保留会话信息,请使用。如果网页需要JavaScript,请使用。我对perl和本主题非常陌生(新2天),因此如果您向我展示一个WWW::Mechanize实现的示例,这将非常有用。关于使用WWW::Mechanize登录的问题应该很有用:会话很可能是通过cookies管理的;有关如何保存登录会话并将其发送回浏览器的信息,请参见。