2015-05-20 396 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