我找到了许多Perl和JSON的例子,这些例子帮助我更好地理解它。
Simple JSON parsing using Perl 的答案中提供的代码很好,我的问题示例在下面使用。
我无法从HTTPS链接中获取JSON,我不确定原因。
如果我使用以上示例代码,则适用于我:
"http:..."
作为$trendsurl
,但它在模具行上失败(添加$
!),
'无法获取https:... - 没有此类文件或目录 json-simple.pl第23行。'
如果我使用
"https:..."
为什么https
会失败,我该如何让它运作?
答案 0 :(得分:4)
您需要安装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;
}