Я пытаюсь отправить запрос GET на Cisco ISE, но получаю эту ошибку:415 неподдерживаемый Тип носителя HTTP
415 Unsupported Media Typen
Что я делаю неправильно? В документации по API написано:
Method: GET
URI: https://10.10.10.10:9060/ers/config/networkdevice/
HTTP 'Accept' header:application/vnd.com.cisco.ise.network.networkdevice.1.0+xml
Итак, я должен иметь возможность получать данные в формате XML.
Я уже пытался сделать это:
$header->header(
'Content-Type'=>'application/vnd.com.cisco.ise.network.networkdevice.xml');
$header->header(
'Content-Type'=>'application/vnd.com.cisco.ise.network.networkdevice.1.0+xml');
Ничто не работает .. каждый раз, когда я получаю вышеуказанную ошибку.
Вот мой полный код.
use strict;
use warnings;
use JSON -support_by_pp;
use LWP 5.64;
use LWP::UserAgent;
use MIME::Base64;
use REST::Client;
use IO::Socket::SSL;
use HTTP::Headers;
#So dass es auch ohne SSL Sertifizierung funktioniert
BEGIN { $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0 }
#Create a user agent object
my $ua = LWP::UserAgent->new(ssl_opts=> {
SSL_verify_mode => SSL_VERIFY_NONE(),
verify_hostname => 0,
}
);
#Create a request
my $uri='https://10.10.10.10:9060/ers/config/networkdevice';
my $header = HTTP::Headers->new;
$header->header('Content-Type'=>'application/vnd.com.cisco.ise.network.networkdevice');
my $req = HTTP::Request->new('GET', $uri, $header);
$req-> authorization_basic("user", "user");
#Pass request to the user agent and get a response back
my $res = $ua->request($req);
#Check the outcome of the response
if ($res->is_success) {
print $res->content;
} else {
print $res->status_line, "n";
}
Похоже, что он не согласен с типом СМИ. –
Документы говорят, что вам нужен заголовок 'Accept', но вы отправляете' Content-Type'. Это неправильный заголовок. Написание ответа. – simbabque