Проблемы с аутентификацией через ключ API, отправленный в заголовках WWW :: Mechanize - PullRequest
0 голосов
/ 16 июля 2011

Чтобы получить ответ от API, ключ должен быть отправлен как заголовок вместе с запросом. Если я отправлю его из командной строки, используя curl -Ss -H "APIKEY: KEY" <a href="https://www.example.com/some/stuff" rel="nofollow">https://www.example.com/some/stuff</a>, запрос будет выполнен успешно. Однако, если я отправлю его с помощью

my $path = "https://www.example.com/some/stuff"
my $mech = WWW::Mechanize->new();
$mech->add_header('APIKEY'=>'KEY');
$mech->get($path);

Я получаю Error GETing <a href="https://www.example.com/some/stuff" rel="nofollow">https://www.example.com/some/stuff</a>: Can't connect to www.example.com:443 (Permission denied). Как правильно указать этот заголовок, чтобы я проходил аутентификацию?

1 Ответ

1 голос
/ 17 июля 2011

Я написал скрипт на стороне сервера, который показывает вывод заголовков из обоих примеров, и APIKEY был установлен одинаково в обоих случаях.Были некоторые различия в HTTP_ACCEPT / HTTP_ACCEPT_ENCODING, и WWW :: Mechanize добавляет некоторые дополнительные заголовки:

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

Так что я бы предположил, что проблема в другом месте.

...