Cocoa ASIHTTP - HTTP / 1.1 405方法不允许

时间:2012-01-27 11:47:57

标签: cocoa asihttprequest

我正在使用ASIHTTP (http://allseeing-i.com/ASIHTTPRequest/)来处理通信

标准网络通信是可以的,但是当我想下载文件时,目标是

HTTP/1.1 405 Method Not Allowed 

在不同的服务器上

这是我的ASIFormDataRequest

ASIFormDataRequest * request = [ASIFormDataRequest requestWithURL:url];

[request setDownloadDestinationPath:destinationPath];

[request addRequestHeader:@"Connection"     value:@"Keep-Alive"];
[request addRequestHeader:@"Keep-Alive"     value:@"timeout=1000, max=20"];
[request addRequestHeader:@"Accept-Language"    value:@"en"];
[request addRequestHeader:@"Accept-Charset" value:@"utf-8"];
[request setAllowCompressedResponse:YES];
[request setShouldContinueWhenAppEntersBackground:YES];
[request setNumberOfTimesToRetryOnTimeout:3];

[request setPostValuesWithDictionary:postDictionary];

但是在didFinish目标中获得带有响应消息405的ASIHTTPRequest

2 个答案:

答案 0 :(得分:1)

当您使用ASIFormDataRequest(将POSTS放入表单)时,听起来像是在进行POST而不是GET来下载文件。

您通常应该使用GET获取文件,这意味着您应该使用ASIHTTPRequest。

答案 1 :(得分:0)

解决方案是使用

ASIHTTPRequest * request = [ASIHTTPRequest requestWithURL:url];

而不是

ASIFormDataRequest * request = [ASIFormDataRequest requestWithURL:url];