2013-03-07 85 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