Perl脚本-授权错误

Perl脚本-授权错误,perl,Perl,我面临HTTP/1.1 401未经授权的错误,这导致了第二次post调用。该流是第一个令牌服务调用,返回sessionToken,我需要将其用作第二个配置服务调用的ServiceAuthorization。但是当我试图将sessionToken传递给第二个调用时,它抛出了一个错误 代码段: #!/usr/bin/perl# use base LWP::UserAgent; use HTTP::Request ; use HTTP::Headers; use warnings; use JSON

我面临HTTP/1.1 401未经授权的错误,这导致了第二次post调用。该流是第一个令牌服务调用,返回sessionToken,我需要将其用作第二个配置服务调用的ServiceAuthorization。但是当我试图将sessionToken传递给第二个调用时,它抛出了一个错误

代码段:

#!/usr/bin/perl#

use base LWP::UserAgent;
use HTTP::Request ;
use HTTP::Headers;
use warnings;
use JSON qw( decode_json );
use Data::Dumper;     # Perl core module


#$proxy_url = 'http://(Proxy server):8080/' ;
$ua = LWP::UserAgent -> new(ssl_opts =>{verify_hostname=>0}, SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE,);
$ua->proxy([qw(http https)],$proxy_url) ;

#Token Service
$tokenURL = 'XXXXX' ;
$acountUsername = 'XXX' ;
$acountPassword = 'XXXX' ;
$tokenHeader = ['ServiceAuthorization' => "Bearer 12d71ea2-1106-64d6-6f67-f081fa7b6cad",'Content_Type' => 'application/json; charset=UTF-8'];

$tokenRequest = HTTP::Request->new('GET',$tokenURL, $tokenHeader) ;
$tokenRequest->authorization_basic($acountUsername,$acountPassword);
$tokenResponse=$ua->request($tokenRequest)->decoded_content;
$sessionToken =  decode_json($tokenResponse)->{'sessionToken'};

#Configuration Service
$configURL = 'XXXXX' ;
$configHeader = ['ServiceAuthorization' =>  "Bearer $sessionToken", 'Content_Type' =>'application/xml; charset=UTF-8'];

$sample_xml = 'sample XML' ;

$configRequest = HTTP::Request->new('POST', $configURL, $configHeader ) ;
$configRequest->content($sample_xml) ;
$configResponse=$ua->request($configRequest)->as_string ;

print $configResponse ;

有很多事情可能会出错,但首先要检查的是您是否有正确的用户名和密码。我会从类似Postman的东西开始检查API而不处理代码。谢谢Brian,我已经签入了Postman,两个API都工作得很好。在perl脚本中,$sessionToken的第一部分也被成功接收,但是当相同的$sessionToken被放入第二个API时,它抛出401个错误,并用您所知道的一切来优化您的问题。将失败的请求与您在其他地方使用的相同内容进行比较。看看有什么不同。