要从API获取响应,必须将密钥作为标头与请求一起发送。如果我使用curl -Ss -H "APIKEY: KEY" https://www.example.com/some/stuff
从命令行发送请求成功。但是,如果我使用
my $path = "https://www.example.com/some/stuff"
my $mech = WWW::Mechanize->new();
$mech->add_header('APIKEY'=>'KEY');
$mech->get($path);
我收到了Error GETing https://www.example.com/some/stuff: Can't connect to www.example.com:443 (Permission denied)
。如何正确提供此标题以便进行身份验证?
答案 0 :(得分:1)
我编写了一个服务器端脚本,显示了两个示例中的标头输出,并且在两种情况下都设置了相同的APIKEY。 HTTP_ACCEPT / HTTP_ACCEPT_ENCODING存在一些差异,WWW :: Mechanize添加了一些额外的标头:
'downgrade-1.0' => '1'
'force-response-1.0' => '1'
'nokeepalive' => '1'
所以我建议问题出在其他地方。