я использую Perl для доступа к Rest-Апи:Perl HTTP :: Request Помещенный -> Метод не допускается
use LWP::UserAgent;
use HTTP::Request::Common;
my $ua = LWP::UserAgent->new;
my $req = HTTP::Request::Common::PUT("http://xxx:yyy/...");
$req->header('content-type' => 'application/json');
$req->authorization_basic('abc','xyz');
my $put_data = '{
"description" : "TestPut"
}';
$req->content($put_data);
my $resp = $ua->request($req);
if ($resp->is_success){
print $resp->content() . "\n";
}
else{
print "PUT failed:\n";
print $resp->message . "\n";
}
Но я получаю "Метод не допускается" Message. GET отлично работает. Может ли это быть проблемой Http-Server (Tomcat) или брандмауэром?
$ req-> as_string:
PUT #URL
Authorization: Basic xxx=
Content-Type: application/json
{
"description" : "TestPut"
}
Вы можете показать, что выглядит '$ req-> as_string'? – simbabque
Также в вашем коде есть опечатка. У вас есть «HTTP: Request ...» с одним ':' вместо двух '::' в строке 5. Пожалуйста, исправьте это. Это ваш фактический код? – simbabque
И, пожалуйста, всегда используйте «строгое» и «использование предупреждений». – simbabque