VSr*_*VSr 3 rest perl perl-module perl5.16
我使用Perl 5.16与REST::ClientGET进行REST调用,但它显示错误401身份验证问题.我不清楚如何解决这个问题.
码
use REST::Client;
use JSON;
use Data::Dumper;
use MIME::Base64;
my $username = 'test';
my $password = 'test';
my $client = REST::Client->new();
$client->setHost('http://myurl');
my $headers = {
Accept => 'application/json',
Authorization => 'Full' . encode_base64($username . ':' . $password)
};
$client->GET('folder/file', $headers);
print $client->responseCode();
print $client->responseContent();
Run Code Online (Sandbox Code Playgroud)
看起来您正在进行HTTP基本身份验证.为此,您需要具有如下标题:
Authorization: Basic foobar
Run Code Online (Sandbox Code Playgroud)
foobarbase64表示的位置在哪里username:password.
在Perl中,它给出了:
my $headers = {
Accept => 'application/json',
Authorization => 'Basic ' . encode_base64($username . ':' . $password)
# ^ note the space here
};
Run Code Online (Sandbox Code Playgroud)
请注意,HTTP :: Headers还提供了一种设置HTTP基本身份验证的方法.不幸的是,REST :: Client没有直接接受.
| 归档时间: |
|
| 查看次数: |
5536 次 |
| 最近记录: |