【问题标题】:How do I get JSON from HTTPS links in Perl?如何从 Perl 中的 HTTPS 链接获取 JSON?
【发布时间】:2013-05-17 10:04:36
【问题描述】:

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

Simple JSON parsing using Perl 的答案中提供的代码很好,在下面我的问题示例中使用。

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

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

"http:..."

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

'Could not get https:... - No such file or directory at json-simple.pl 第 23 行。'

如果我使用

"https:..."

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

【问题讨论】:

    标签: json perl https


    【解决方案1】:

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

    这是一个通过 HTTPS 调用 Twitter 的 sn-p..

    #!/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;
     }
    

    【讨论】:

    • 不,不要使用用户代理来休息,它会激活保持活动状态,您的连接不会接近 3 分钟。
    猜你喜欢
    • 2012-11-01
    • 2013-11-25
    • 1970-01-01
    • 2017-08-31
    • 1970-01-01
    • 2012-01-12
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    相关资源
    最近更新 更多