how do I check an http request response status cod

2019-01-24 09:33发布

问题:

I am sending an http request from iOS (iPad/iPhone) to my python google app engine server using the NSURLConnection and NSURLRequest classes.

How do I read the response's status, i.e. the value set by app engine using response.set_status(200, message="Success") for instance?

I'm not able to find where I can read these status codes once I receive the NSURLConnection's connectionDidFinishLoading delegate call on the client end.

回答1:

The connection:didReceiveResponse: delegate method is called when a response is received, which gives you an NSURLResponse to play with.

If you've made an HTTP request, then it'll actually be an NSHTTPURLResponse object, which has a statusCode method.



回答2:

If you are sending a synchronous request, you could get the response code from NSHTTPURLResponse.

NSHTTPURLResponse *response = nil;
NSError *error = nil;

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:URL_LOGIN]];
NSData *respData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSLog(@"~~~~~ Status code: %d", [response statusCode]);

Hope this will help you :)