Как получить NSURLResponse - PullRequest
4 голосов
/ 05 мая 2011

Я делаю http запрос к веб-серверу с этим:

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL: [NSURL URLWithString: @"http://server.com"]]; 
[request setHTTPMethod: @"POST"];
[request setHTTPBody: myRequestData];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];
NSData *returnData = [NSURLConnection sendSynchronousRequest: request returningResponse: nil error: nil];

Но как я могу получить ответ от сервера и проанализировать его? Большое спасибо:)

Ответы [ 3 ]

23 голосов
/ 05 мая 2011

Поскольку вы присваиваете ответ переменной экземпляра returnData, преобразуйте ее в строку для начала, просто посмотрите, что вы получите, анализ может быть выполнен либо с NSXMLParser, либо с некоторой библиотекой JSON, в зависимости от формата ответа.

Вот как бы вы конвертировали ответ в строку:

NSString *responseBody = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
2 голосов
/ 05 мая 2011

returnData ваш ответ.Если это xml, то вы можете использовать NSXMLParser для его анализа, если его json использует JSONFramework.

2 голосов
/ 05 мая 2011

Я предполагаю, что вы имеете в виду полный NSURLResponse, чтобы вы могли просматривать заголовки и тому подобное. В этом случае вам нужно передать параметр returningResponse, это выходной параметр типа (NSURLResponse **). См. документы .

...