2012-01-27 1 views
0

я использую ASIHTTP (http://allseeing-i.com/ASIHTTPRequest/) для обработки связикакао ASIHTTP - HTTP/1.1 405 Method Not Allowed

стандартный веб-связи в порядке, но когда я хочу, чтобы загрузить файлы, цель получения

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 Aim получение ASIHTTPRequest с ответным сообщением 405

ответ

0

решение использовать

ASIHTTPRequest * request = [ASIHTTPRequest requestWithURL:url]; 

вместо

ASIFormDataRequest * request = [ASIFormDataRequest requestWithURL:url]; 
+0

А, хорошо, вы поняли это :) –

1

Похоже, вы делаете POST вместо GET для загрузки файла, когда вы используете ASIFormDataRequest (который afaik POSTS для формы).

Обычно вы должны извлекать файлы с помощью GET, что означает, что вы, вероятно, должны использовать ASIHTTPRequest.