Perl模組的手動安裝

來源:互聯網
上載者:User

在其他論壇看了很多關於Perl模組的安裝,其實有時候很容易出現安裝失敗。

尤其是在WINDOWS上,比如可以使用CPAN,PPM等工具方式。在命令列

中輸入CPAN, 彈出CPAN> ,然後可以輸入INSTALL 模組名,比如我要安裝LWP::UserAgent::ProxyAny

輸入install LWP::UserAgent::ProxyAny,可是經常會有錯誤,這個方式非常麻煩。於是exit;轉到PPM,

輸入PPM,是可以彈出PPM的工具列,但是出現錯誤的幾率也很大,而且反應比較慢。怎麼辦呢。

 

上面的一個模組是用來進行Proxy 伺服器設定的,比如有些網站,在國內被禁用了,我們可以通過一些國外的Proxy 伺服器,

進行訪問,這個方法會比較容易。

怎麼做呢。很簡單,在http://search.cpan.org上搜尋ProxyAny, 下載LWP-UserAgent-ProxyAny-1.02.tar.gz,

解壓縮後,有8個檔案。

 

對於網路上的說法,如果在WINDOWS下,你需要先安裝make.exe,放入到system32目錄下,可以執行。然後make,

接著make test,有些模組就可以成功了。但是這一模組上面的兩種方式都失敗。

 

我發現了一個非常簡單的方法,上面模組的意思是在LWP目錄下,找UserAgent子目錄,然後在這一子目錄下找到ProxyAny.pm檔案,

我們就可以在相應的位置直接建立需要的目錄UserAgent,然後在這個檔案夾下把ProxyAny.pm複製到這裡,接著測試代碼,發現可以

使用了。是不是很方便。

 

代碼如下:

#! perl #LWP::UserAgent::ProxyAny - A LWP UserAgent supports both HTTP_PROXY and IE proxy use LWP::UserAgent::ProxyAny; open(PROXY,"<F:/freeProxy1.txt") or die $!; #freeProxy1.txt檔案裡面是類似24.98.120.7:8085這樣的Proxy 位址列表。 my $ua = LWP::UserAgent::ProxyAny->new; $ua->env_proxy; my $response = $ua->get('http://www.ncbi.nlm.nih.gov/pubmed'); while(<PROXY>){ $proxy = $_.""; $ua->set_proxy_by_name($proxy); if($response->is_success){ print "有效IP代理為:".$_."/n"; print $response->content; #or whatever }else{ print "無效的IP代理為:".$_; # die $response->status_line; } $ua->set_proxy_by_name("No"); } # $ua->set_proxy_by_name("24.98.120.7:8085"); # print $response->content; # or set proxy by specified name close PROXY;

 

可以把地址修改下,就可以使用代理上網了。

上面是得到相應地址的原始碼,進行資料抓取。

上面的Perl指令碼,還是不完善,其實不用專門設定代理,只要有$ua->env_proxy這句,表示使用代理,似乎就可以直接存取了,太方便了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.