2011-02-08 9 views
9

Estoy enviando una solicitud http desde iOS (iPad/iPhone) a mi servidor de motor de aplicación python google utilizando las clases NSURLConnection y NSURLRequest.¿cómo verifico un código de estado de respuesta de solicitud HTTP desde iOS?

¿Cómo leo el estado de la respuesta, es decir, el valor establecido por el motor de aplicación usando response.set_status(200, message="Success"), por ejemplo?

No puedo encontrar dónde puedo leer estos códigos de estado una vez que recibo la llamada de delegado NSURLConnection'sconnectionDidFinishLoading en el extremo del cliente.

+0

posible duplicado de [Recuperar HTTPResponse/HTTPRequest códigos de estado iPhone SDK?] (Http://stackoverflow.com/questions/917932/retrieve-httpresponse-httprequest- status-codes-iphone-sdk) –

Respuesta

15

El método de delegado connection:didReceiveResponse: se invoca cuando se recibe una respuesta, que le da un NSURLResponse para jugar.

Si ha realizado una solicitud HTTP, entonces realmente será un objeto NSHTTPURLResponse, que tiene un método statusCode.

16

Si está enviando una solicitud sincrónica, puede obtener el código de respuesta de 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 esto le ayudará a :)

+0

Esto me ayudó, ¡gracias! – Fengson

Cuestiones relacionadas