2013-03-07 55 views
-2

我正在我LWP腳本不工作

#!/usr/bin/perl -w 
use strict; 
use LWP::Simple; 
+0

你是否安裝了curl或wget,並且它們是否工作?如果他們不工作,Perl也不會工作......你沒有互聯網接入。 – runrig 2013-03-07 22:06:35

+0

@runrig我這麼認爲。我如何檢查我是否? – mtrmilk 2013-03-08 15:14:12

回答

0

變量$sitehtml代碼。你

也可以使用該功能getstorehtml數據保存到一個文件,如:

my $http_code = getstore('http://www.google.com/', 'google.html'); 
+0

但是我怎樣才能讓get()函數起作用?我的原始代碼沒有錯誤是正確的?也許我的配置有問題? – mtrmilk 2013-03-07 21:25:55

+0

@mtrmilk:你的代碼對我來說似乎是正確的。你期望輸出什麼? – Birei 2013-03-07 21:27:10

+0

糟糕!我在我的問題上犯了一個錯誤。它實際上返回「無法得到它!在第6行」。我的混亂可能有些問題。我在一臺運行CentOS的VMWare播放器上運行它。 – mtrmilk 2013-03-07 21:29:00

0

這將幫助你很多,如果你能看到失敗的原因。我建議你使用核心LWP而不是簡單的版本。像這樣:

#!/usr/bin/perl 

use strict; 
use warnings; 

use LWP; 

my $ua = LWP::UserAgent->new; 

my $response = $ua->get('http://www.google.com/'); 

die 'Couldn't get it: ', $response->status_line unless $response->is_success; 

my $site = $response->decoded_content; 
print 'Got it.'; 
+0

好的,所以響應是:「無法得到它:500無法連接到www.google.com/80(連接被拒絕)在示例行12.你認爲是什麼問題? – mtrmilk 2013-03-08 15:18:59

+0

你是在背後代理服務器?它是否與其他URL一樣? – Borodin 2013-03-08 19:25:13

+0

是的,這就是我剛發現的! – mtrmilk 2013-03-08 19:30:02