2011-02-08 12 views
9

Invio una richiesta http da iOS (iPad/iPhone) al mio server engine google python utilizzando le classi NSURLConnection e NSURLRequest.come faccio a controllare un codice di stato di risposta della richiesta http da iOS?

Come si legge lo stato della risposta, vale a dire il valore impostato dal motore dell'app utilizzando response.set_status(200, message="Success") per esempio?

Non riesco a trovare dove posso leggere questi codici di stato una volta ricevuta la chiamata delegata NSURLConnection'sconnectionDidFinishLoading sul client.

+0

possibile duplicato del [Recupera HTTPResponse/HTTPRequest codici di stato iPhone SDK?] (Http://stackoverflow.com/questions/917932/retrieve-httpresponse-httprequest- codici di stato-iphone-sdk) –

risposta

15

Il metodo delegato connection:didReceiveResponse: viene chiamato quando viene ricevuta una risposta, che consente di giocare con NSURLResponse.

Se hai fatto una richiesta HTTP, allora sarà effettivamente un oggetto NSHTTPURLResponse, che ha un metodo statusCode.

16

Se si invia una richiesta sincrona, è possibile ottenere il codice di risposta da 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]); 

Spero che questo vi aiuterà a :)

+0

Questo mi ha aiutato, grazie! – Fengson

Problemi correlati