Ich habe ein Problem in senden Restful Anfrage an HotelsPro Web-Service.Authentifizierung Anmeldeinformationen wurden nicht zur Verfügung gestellt Problem
Iam versuchen Anfrage zu diesem Link https://api-test.hotelspro.com:443 mit grundlegenden Anmeldeinformationen zu senden, aber ich erhalte Fehler jedes Mal „Authentifizierungsinformationen nicht zur Verfügung gestellt wurden“, obwohl diese Berechtigungsnachweise auf browser.My Code arbeitet wie folgt
sub getJSONdata {
my ($SupplierXMLServer, $message, $compressed,$timeOut) =();
($SupplierXMLServer, $message, $compressed,$timeOut) = @_;
$SupplierXMLServer='https://api-test.hotelspro.com/api/v2/search/?destination_code=20b05&checkin=2016-11-09&checkout=2016-11-12¤cy=USD&client_nationality=PS&pax=2';
my $username = "Epilgrim";
my $password = "xxxxxxxxxx";
use LWP::UserAgent;
my $userAgent = LWP::UserAgent->new(agent =>"1");
$userAgent->credentials('https://api-test.hotelspro.com:443', 'api', $username , $password);
$userAgent->timeout($timeOut) if($timeOut); # in seconds
use HTTP::Request::Common;
my $response = '';
if($compressed){
$response = $userAgent->request(GET $SupplierXMLServer,
Content_Type => 'application/json',
Accept_Encoding => "gzip,deflate",
Content => $message);
}
else{
$response = $userAgent->request(GET $SupplierXMLServer,
Content_Type => 'application/json',
Content => $message);
}
return $response->error_as_HTML unless $response->is_success;
#return $response->content;
if($compressed){
return $response->decoded_content;
}
else{
return $response->content;
}
}
Bitte helfen Ich schreibe den richtigen Code und sende die Anfrage in korrekter Weise, um eine gültige Antwort zu erhalten.
In Ihrem Aufruf von 'credentials', können Sie versuchen, das Protokoll zu entfernen - es sollte das Format' hostname: port' haben - dh ''api-test.hotelspro.com: 443'' Siehe http://stackoverflow.com/questions/1799147/why-dont-my-lwpuseragent-credentials-work – ardavey