How to Get NSURLResponse

12,731

Solution 1

Since you're assigning response to returnData instance variable, convert it to string for starters just look what you get, the parsing may be done with either NSXMLParser or some JSON library depending on response format.

Here's how you'd convert the response to string:

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

Solution 2

I assume you mean the full NSURLResponse so that you can inspect headers and the like. In which case you need to pass in the returningResponse parameter, it is an out parameter of type (NSURLResponse **). See the docs.

Solution 3

returnData is your response. If its xml then you can use NSXMLParser to parse it, if its json use the JSONFramework.

Share:
12,731
nyanev
Author by

nyanev

Updated on September 15, 2022

Comments

  • nyanev
    nyanev almost 2 years

    I make http request to the web server with this:

    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];
    

    But how can I get the response from the server and parse it? Thanks a lot :)

  • nyanev
    nyanev about 13 years
    Can I return the response in plain text. Example: true/false?
  • Eimantas
    Eimantas about 13 years
    It actually doesn't matter what you return.
  • Oscar
    Oscar over 11 years
    I think he means the raw text returned by the server. The docs don't explain the difference between the NSURLResponse and the result, nor do they say how to get the response body from the NSURLResponse.