Perl HTTP ::请求放置 - >方法不允许

时间:2015-08-20 09:13:15

标签: perl rest http

我使用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";
}

1 个答案:

答案 0 :(得分:1)

  

GET工作正常。这可能是Http-Server(Tomcat)还是防火墙的问题?

是的,你必须看那里。 GET和POST是访问网站的常用方法,而PUT通常用于REST或WebDAV,Web浏览器不使用(除非您自己执行XHR请求)。因此,防火墙或HTTP服务器可能会限制对此方法的访问。