我使用Perl访问Rest-Api:
ProfileViewController *profile = [[ProfileViewController alloc] init];
profile.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
[self addChildViewController:profile];
[self.view addSubview:profile.view];
[profile didMoveToParentViewController:self];
但我得到一个"方法不允许"信息。 GET工作正常。 这可能是Http-Server(Tomcat)还是防火墙的问题?
$ req-> as_string:
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";
}
答案 0 :(得分:1)
GET工作正常。这可能是Http-Server(Tomcat)还是防火墙的问题?
是的,你必须看那里。 GET和POST是访问网站的常用方法,而PUT通常用于REST或WebDAV,Web浏览器不使用(除非您自己执行XHR请求)。因此,防火墙或HTTP服务器可能会限制对此方法的访问。