【问题标题】:Perl HTTP::Request HASH error?Perl HTTP::Request HASH 错误?
【发布时间】:2014-04-06 22:03:52
【问题描述】:

我在使用 Perl 中的 HTTP::Request 时遇到了一些困难,

我的脚本是这样设置的:

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::Response=HASH(0x987f8d8)

(我正在尝试将其“打印”到 example.com)

【问题讨论】:

  • 您可以使用contentas_string。检查docs

标签: perl


【解决方案1】:

是的,它是一个哈希。您必须像下面这样访问。

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

print $res->content();

print $res->status_line;

您还可以使用数据转储器打印整个 $res 并观察它实际保存的内容。

use Data::Dumper;
print Dumper $res;

【讨论】:

    【解决方案2】:

    http::Request 确实返回了一个哈希值。

    $response->content 有结果。

    来自链接:

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

    【讨论】:

      【解决方案3】:

      你需要这样做......

      print $response->content();
      

      ...查看文档http://metacpan.org/pod/LWP#An-Example

      【讨论】:

        猜你喜欢
        • 2012-09-22
        • 1970-01-01
        • 2021-04-06
        • 2020-10-19
        • 2016-04-02
        • 1970-01-01
        • 2014-12-04
        • 2014-03-20
        • 1970-01-01
        相关资源
        最近更新 更多