2015-05-20 320 views
0

我正在尝试使用Asana API和HTTP基本身份验证。以下程序打印与基本身份验证的HTTP基本身份验证

{"errors":[{"message":"Not Authorized"}]} 

看来,LWP不会将身份验证凭据发送到服务器。

#!/usr/bin/perl 

use v5.14.0; 
use LWP; 

my $ua = new LWP::UserAgent; 
$ua->credentials('app.asana.com:443', 'realm', 'api_key_goes_here' => ''); 

my $res = $ua->get("https://app.asana.com/api/1.0/users/me"); 
say $res->decoded_content; 

回答

1

我遇到了类似的事情(在一个完全不同的服务上),并且无法让它工作。我认为这是与领域/主机名不匹配。正如你注意到的那样 - 如果你直接从网页浏览器打这个URL,你会得到相同的答案(没有auth提示)。

但我落得这样做,而不是:

my $request = HTTP::Request -> new ('GET' => 'https://path/to/surl'); 
$request -> authorization_basic ('username', 'password'); 

my $results = $user_agent -> request ($request); 
+0

是的,它的工作原理。谢谢! – Sly