3

我发现了许多 Perl 和 JSON 的例子,它们帮助我更好地理解它。

在使用 Perl进行简单 JSON 解析的答案中提供的代码很好,并在下面我的问题示例中使用。

我在从 HTTPS 链接“获取”JSON 时遇到问题,我不知道为什么。

如果我使用,上面的示例代码对我有用:

"http:..."

作为$trendsurl,但它在模具线上失败(添加$!),与

“无法获取 https:... - json-simple.pl 第 23 行没有这样的文件或目录。”

如果我使用

"https:..."

为什么会https失败,我该如何让它工作?

4

1 回答 1

5

您需要安装LWP:Protocol:https才能使 HTTPS 请求正常工作。如果您使用的是 Ubuntu,那么您还需要build-essential libssl-dev. 完成后,您应该能够发出 HTTPS 请求。

这是通过 HTTPS 调用 Twitter 的片段。

#!/usr/bin/perl

 use LWP::UserAgent;
 use HTTP::Request;

 my $URL = 'https://www.twitter.com/';

 my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 1 });
 my $header = HTTP::Request->new(GET => $URL);
 my $request = HTTP::Request->new('GET', $URL, $header);
 my $response = $ua->request($request);

 if ($response->is_success){
     print "URL:$URL\nHeaders:\n";
     print $response->headers_as_string;
 }elsif ($response->is_error){
     print "Error:$URL\n";
     print $response->error_as_HTML;
 }
于 2013-05-22T11:19:43.547 回答