如何设置'授予类型'与lwp

时间:2014-10-23 11:00:28

标签: perl lwp-useragent

我正在尝试使用LWP :: UserAgent连接到服务器。我已成功在同一台服务器上使用LWP :: UserAgent进行匿名搜索,但现在我必须“保密”,并且需要在该服务器上使用身份验证。我使用过代码:

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);

服务器响应:错误400,必需参数:grant_type

那么,如何使用LWP设置grand类型参数? 我还没有找到任何有关大型问题的网页。

我也试过了:

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

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

所有三个都给出完全相同的错误消息。 我不知道如何让事情发挥作用。

1 个答案:

答案 0 :(得分:2)

TA-DAA!我找到了答案。

grant_type不是标题内容,它属于body。 因此,这样做的工作方式是:

$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"]);

非常感谢!