2014-10-23 3 views
0

Я пытаюсь подключиться к серверу с помощью LWP :: UserAgent. Мне удалось выполнить анонимный поиск с помощью LWP :: UserAgent на том же сервере, но теперь я должен «секретно», и для этого требуется использовать аутентификацию на этом сервере. Я использовал код:Как установить «тип гранта» с помощью lwp

my $ua = LWP::UserAgent->new; 
$ua->default_header('Content-Type' => "application/x-www-form-urlencoded"); 
$ua->default_header('Authorization' => "Basic ".$Authent); 
my $resp = $ua->post($uri); 

Сервера reponds: ошибки 400, необходимые пары: grant_type

Итак, как установить главный параметр типа с LWP? Я не нашел ни одной страницы, касающейся проблемы большого типа.

Я попытался также:

$ua->default_header('grant_type' => "client_credentials"); 

и

my $resp = $ua->post($uri, grant_type => "client_credentials"); 

Все три дает точно такое же сообщение об ошибке. Я понятия не имею, как заставить все работать.

+0

https://metacpan.org/pod/LWP::UserAgent#ua-credentials-netloc-realm –

+0

Спасибо за быстрый ответ. Я понятия не имею, как это использовать. Сервер не использует идентификатор пользователя и пароль. Он использует авторизацию в заголовке для проверки прав пользователя. Это было указано в моем коде. Проблема заключается в файле grant_type, который необходимо изменить. – TeeVee

ответ

2

TA-DAA! Я нашел ответ.

Тип grant_type не является заголовком, он принадлежит телу. Таким образом, рабочий способ сделать это:

$ua->default_header('Content-Type' => "application/x-www-form-urlencoded"); 
$ua->default_header('Authorization' => "Basic ".$Authent); 
my $resp = $ua->post($uri, Content => ['grant_type' => "client_credentials"]); 

Спасибо в любом случае!

Смежные вопросы