我正在使用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
答案 0 :(得分:1)
当您使用ASIFormDataRequest(将POSTS放入表单)时,听起来像是在进行POST而不是GET来下载文件。
您通常应该使用GET获取文件,这意味着您应该使用ASIHTTPRequest。
答案 1 :(得分:0)
解决方案是使用
ASIHTTPRequest * request = [ASIHTTPRequest requestWithURL:url];
而不是
ASIFormDataRequest * request = [ASIFormDataRequest requestWithURL:url];