2016-09-27 149 views
-2

我是Perl的新手,因此作爲練習,我一直在嘗試登錄到網頁並在以後打開登錄頁面從命令行。嘗試登錄網站並打開登錄頁面時未能建立會話

這是我寫的

use HTTP::Cookies; 

use lib "/home/tivo/Desktop/exp/WWW-Mechanize-1.80/lib/WWW"; 
use Mechanize; 

$mech = WWW::Mechanize->new(); 
$mech->cookie_jar(HTTP::Cookies->new()); 

$url = "<url>"; 

$mech->credentials('username' => 'password'); 
$mech->get($url); 

$mech->save_content("logged_in.html"); 

後,我執行腳本,我嘗試使用命令

$ firefox logged_in.html 

打開保存的HTML頁面的代碼,但我得到的錯誤

BIG-IP在請求中找不到會話信息。發生這種情況的原因可能是安裝了加載項後瀏覽器重新啓動。如果發生這種情況,請點擊下面的鏈接繼續。這也可能是因爲您的瀏覽器禁用了Cookie。如果是這樣,請在您的瀏覽器中啓用Cookie並開始新的會話。

相同的代碼適用於Facebook登錄。

回答

0

這裏有

  • 您還沒有安裝WWW::Mechanize的主要問題;它看起來像你剛剛下載並解壓縮它,並添加use lib指向解壓縮的位置。您需要運行命令行cpan WWW::Mechanize正確安裝它,那麼它也將是一個目錄,Perl的默認查找圖書館所以會出現在所有

  • 不需要一個use lib您需要use WWW::Mechanize 。只是use Mechanize不會做

  • 你必須時刻開始每Perl程序與use strictuse warnings 'all',並my

聲明所有變量解決了那些應該讓你對工作

很長的路要走
+0

我試圖從cpan命令行安裝WWW :: Mechanize包,但它總是失敗。因此,我將tar文件下載到本地目錄中解壓縮並使用以下命令手動安裝MakeFile.PL,make,make test和make install。至於變量的範圍,我仍然試驗代碼,一旦它被修復,我會添加嚴格的使用和使用警告@Borodin – Satzoda

+0

好吧。我等着你發佈「下面的命令」! – Borodin

+0

對不起。我編輯了評論..看看。 @Borodin – Satzoda

相關問題