NSUrlConnectionDelegate - Getting http status codes NSUrlConnectionDelegate - Getting http status codes ios ios

NSUrlConnectionDelegate - Getting http status codes


Yes, you can get status code in delegate method -didRecieveResponse:

- (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{   NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response;   int code = [httpResponse statusCode];}


NSHTTPURLResponse* urlResponse = nil;NSError *error = nil;responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];

The aSynchronous request should also have a way to get the NSHTTPURLResponse..

You get the status code like this:

int statusCode = [urlResponse statusCode];int errorCode = error.code;

In the case of some much used error codes (like 404) it will get put in the error but with a different code (401 will be -1012).


Here's how to do it in MonoTouch for .NET for those C# users. THis is in the NSUrlConnectionDelegate.

public override void ReceivedResponse (NSUrlConnection connection, NSUrlResponse response){  if (response is NSHttpUrlResponse)  {    var r = response as NSHttpUrlResponse;    Console.WriteLine (r.StatusCode);   }}