如何获得NSURLResponse

时间:2011-05-05 10:29:43

标签: iphone ios nsurlrequest

我使用以下命令向Web服务器发出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 个答案:

答案 0 :(得分:23)

由于您正在为returnData实例变量分配响应,因此将其转换为字符串以供初学者查看所获得的内容,可以使用NSXMLParser或某些JSON库进行解析,具体取决于响应格式

以下是将响应转换为字符串的方法:

NSString *responseBody = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];

答案 1 :(得分:2)

我假设您的意思是完整的NSURLResponse,以便您可以检查标题等。在这种情况下,您需要传入returningResponse参数,它是类型的out参数(NSURLResponse **)。请参阅docs

答案 2 :(得分:2)

returnData是您的回复。如果它的xml然后你可以使用NSXMLParser解析它,如果它的json使用JSONFramework。