2013-12-21 97 views
2

我有一定的困难,与HTTP ::在Perl请求,Perl HTTP ::请求HASH错误?

我的脚本设置,象这样:

use CGI; 
use MIME::Base64; 
use HTTP::Cookies; 
use HTTP::Request; 
use LWP::UserAgent; 

$request = HTTP::Request->new(GET => 'http://www.example.com/'); 

$ua = LWP::UserAgent->new; 
$response = $ua->request($request); 

print "$response"; 

当我跑我的网站上的脚本,我得到一个消息像这样:

HTTP ::响应= HASH(0x987f8d8)

(我试图让它 “打印” example.com)

+0

你可以用'content'或'as_string'。检查[文档](https://metacpan.org/pod/HTTP::Request)。 – squiguy

回答

5

是的它的散列。你必须像下面那样访问。

print $res->decoded_content(); ## if gziped 

print $res->content(); 

print $res->status_line; 

另外,您也可以使用Data Dumper打印整个$ res并观察它实际保存的内容。

use Data::Dumper; 
print Dumper $res; 
2

http::Request确实返回一个散列。

$ response-> content有结果。

从链接:

$ R->内容($字节) 这用于获取/设置的内容和它从HTTP ::消息基类继承。有关可用于访问内容的详细信息和其他方法,请参阅HTTP :: Message。 请注意,内容应该是一串字节。 perl中的字符串可以包含字节范围之外的字符。编码模块可用于将这些字符串转换为一串字节。