Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何获得响应_Iphone_Ios_Nsurlrequest - Fatal编程技术网

Iphone 如何获得响应

Iphone 如何获得响应,iphone,ios,nsurlrequest,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-

我使用以下命令向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];

但是我如何从服务器获取响应并解析它呢?非常感谢:)

由于您正在将响应分配给
returnData
实例变量,请先将其转换为字符串。看看您得到了什么,解析可以使用
NSXMLParser
或一些JSON库来完成,具体取决于响应格式

以下是如何将响应转换为字符串:

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

我假设您指的是完整的NSURLRresponse,这样您就可以检查头等等。在这种情况下,您需要传入returningResponse参数,它是类型为(NSURLResponse**)的out参数。请参阅。

returnData
是您的回答。如果它是xml,那么您可以使用NSXMLParser来解析它,如果它的json使用JSONFramework。

我可以以纯文本返回响应吗。示例:真/假?实际上,返回什么并不重要。我认为他指的是服务器返回的原始文本。文档没有解释NSURLResponse和结果之间的区别,也没有说明如何从NSURLResponse获取响应体。