我使用以下命令向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];
但是如何从服务器获取响应并解析它?非常感谢:)
答案 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。