2013-12-21 94 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中的字符串可以包含字節範圍之外的字符。編碼模塊可用於將這些字符串轉換爲一串字節。