通过标头WWW :: Mechanize中发送的API密钥进行身份验证时出现问题

时间:2011-07-16 03:14:18

标签: perl www-mechanize

要从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)。如何正确提供此标题以便进行身份验证?

1 个答案:

答案 0 :(得分:1)

我编写了一个服务器端脚本,显示了两个示例中的标头输出,并且在两种情况下都设置了相同的APIKEY。 HTTP_ACCEPT / HTTP_ACCEPT_ENCODING存在一些差异,WWW :: Mechanize添加了一些额外的标头:

'downgrade-1.0' => '1'
'force-response-1.0' => '1'
'nokeepalive' => '1'

所以我建议问题出在其他地方。