我有HTTP::使用Perl API连接plotly站点时响应失败



>最近,我找到了 plot.ly 网站并正在尝试使用它。但是,当我使用Perl API时,我无法成功。我的步骤如下。

  1. 我用谷歌帐户注册 plot.ly
  2. 已安装的Perl模块(WebService::P lotly)
  3. 键入基本示例("https://plot.ly/api/perl/docs/line-scatter")

..跳。。

use WebService::Plotly;
use v5.10;
use utf8;
my $user = "MYID";
my $key = "MYKEY";
my $py= WebService::Plotly->new( un => $user, key => $key );
say __LINE__; # first say
my $x0 = [1,2,3,4]; 
my $y0 = [10,15,13,17];
my $x1 = [2,3,4,5]; 
my $y1 = [16,5,11,9];
my $response = $py->plot($x0, $y0, $x1, $y1);
say __LINE__ ; # second say

..跳。。。

然后,执行示例perl代码=>>但是,在此步骤中,$py->plot 始终返回"HTTP::Response=HASH(0x7fd1a4236918)"第二种说法不被执行(我使用的是Perl版本5.16.2和5.19.1,操作系统是MacOS X)

在手上,python示例("https://plot.ly/api/python/docs/line-scatter")总是成功的。

请让我知道这个问题。多谢!

在快速查看此模块的源代码后,我可以建议像下面的示例一样使用它。因为任何方法都可能引发异常。在 http 错误上,这将是 HTTP::响应对象

eval {
    my $response = $py->plot($x0, $y0, $x1, $y1);
};
if (my $err = $@) {
    if (!ref $err) {
        die "Plotly error: ", $err;
    }
    elsif ($err->isa('HTTP::Response')) {
        die "HTTP error: ", $err->status_line;
    }
    else {
        die "Unknown error: ", ref($err), " ($err)"
    }
}

您是否查看过 HTTP::Response 对象的$py>内容或任何其他属性?

除了您尝试打印对象引用的值(您从中提供的输出)之外,您没有告诉我们任何其他内容,这是人们期望的输出。

最新更新