2013-06-27 5 views
0

Я пытаюсь выполнить запрос POST с использованием NSURLConnection. Я использую Чарльза для отладки, и Чарльз каждый раз говорит, что метод GET. Я пробовал все по-другому и не могу заставить его работать. Я НЕ использую JSON.NSURLConnection отправляет запрос GET вместо запроса POST

-(void)getList 
{ 
    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; 

    NSURL *url = [NSURL URLWithString:@"http://example.com/api/getList"]; 
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 

    NSString *radius = @"15"; 
    NSString *latitude = @"-117.820833"; 
    NSString *longitude = @"34.001667"; 

    NSString *parameters = [NSString stringWithFormat:@"longitude=%@&latitude=%@&radius=%@", longitude,latitude, radius]; 
    NSLog(@"PARAMS = %@", parameters); 

    NSData *data = [parameters dataUsingEncoding:NSUTF8StringEncoding]; 

    [request setHTTPMethod:@"POST"]; 
    [request setValue:@"text/plain" forHTTPHeaderField:@"Accept"]; 
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
    [request setHTTPBody:data]; 

    NSURLResponse *response = nil; 
    NSError *error = nil; 
    NSData *result = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 

    NSString *responseString = [[NSString alloc]initWithData:result encoding:NSUTF8StringEncoding]; 

    NSLog(@"RESULT = %@", responseString); 


} 

Кто-нибудь знает, что я делаю неправильно? Когда я получаю доступ к веб-сервису, мне кажется, что я ничего не публикую. Я получаю пустой ответ.

Пожалуйста, помогите с любыми идеями. Мне очень нужно сделать простой запрос POST. Может быть, кто-то может помочь мне отладить это лучше.

+0

Есть ли какие-либо требования к авторизации на сервере? Ваш запрос перенаправлен? – Wain

+0

Возможно, вы назове этот URL-адрес, как GET, где-то еще в приложении? Это может быть кеширование ответа для запроса на этот URL-адрес и, таким образом, игнорирование вашего POST вообще ... Возможно, дайте 'request.cachePolicy = NSURLRequestReloadIgnoringLocalAndRemoteCacheData;' выстрел? – Stakenborg

+0

Это запрос POST, если я когда-либо видел его. Проблема кроется в другом месте. –

ответ

0

Если сервер перенаправляет ваш запрос по какой-либо причине (возможно, аутентификация), то информация POST может быть потеряна.