NSURLConnection POST также вызывает GET того же URL - PullRequest
4 голосов
/ 02 апреля 2010

У меня есть NSURLConnection, который является отправкой на сервер, но я ожидаю, что он вернет некоторые небольшие данные, независимо от того, были они успешными или нет.

        -(void)submitPost:(NSString *)xml
    {
        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[service generateURL]];
        NSString *result = (NSString *) CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)xml, NULL, CFSTR("?=&+"), kCFStringEncodingUTF8);
        [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
        [request setHTTPBody:[result dataUsingEncoding:NSUTF8StringEncoding]];
        [request setHTTPMethod:@"POST"];
        NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:request delegate:self];
        if(theConnection)
        {
            NSLog(@"Connection success");
            [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
            [theConnection retain];
            failed = NO;
        }
        else 
        {
            NSLog(@"Connection failed");
        }
}

Проблема в том, что он не только отправляет сообщение URL, он также отправляет GET, а ответ GET возвращается как данные ... Я немного запутался. Я проверил свой вывод Wireshark, и он определенно делает и сообщение и получение.

Что вы, ребята, думаете?

1 Ответ

8 голосов
/ 02 апреля 2010

URL отвечает на POST с перенаправлением? Вы можете реализовать метод делегата NSURLConnection connection:willSendRequest:redirectResponse:, чтобы проверить, так ли это (и отменить нежелательное перенаправление).

...