2014-10-26 21 views
-1

當試圖以訪問需要使用此代碼驗證的網頁:如何驗證何時不需要使用Perl?

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,如果im登錄,則會將我帶到我的用戶頁面,如果我不是,則會將我帶到主頁。 我怎麼能這樣做,它使用我的憑據進入用戶頁面。

+0

如果您正在導航到多個頁面,請使用['WWW :: Mechanize'](https://metacpan.org/pod/WWW:Mechanize)需要保持會話信息。如果網頁需要JavaScript,請使用['WWW :: Mechanize :: Firefox'](https://metacpan.org/pod/WWW::Mechanize::Firefox)。 – Miller 2014-10-26 22:22:36

+0

我對perl和這個話題一般都很陌生(新的2天),所以如果你給我看一個WWW ::機械化實現的例子 – 2014-10-26 22:25:13

+0

這個關於登錄WWW :: Mechanize的問題應該很有用:http ://stackoverflow.com/questions/6701934/perl-wwwmechanize-credentials – 2014-10-26 22:37:28

回答

0

與往常一樣,如果您正在瀏覽,請按照以下步驟操作:導航至登錄表單,填寫,提交,然後訪問您真正想要訪問的頁面。

登錄將爲您提供一個cookie,該cookie將在稍後的請求中自動提交。這是網站如何知道誰登錄。