estrarre dati da cacao richiesta HTTP GET
-
22-08-2019 - |
Domanda
ho implementato il seguente codice:
NSURL *url = [ NSURL URLWithString:[ NSString stringWithFormat: @"http://www.google.com/search?q=%@", query ] ];
NSURLRequest *request = [ NSURLRequest requestWithURL: url ];
Voglio estrarre il corpo da quello che ricevo di ritorno da l'url sopra. Ho tentato:
NSData *data = [request HTTPBody];
dati variabile non restituisce alcun dato? Sto andando su estrarre i dati dalla richiesta nel modo giusto?
Grazie!
Soluzione
Se stai solo cercando di ottenere una pagina web, è possibile utilizzare questo.
NSURL *url = [ NSURL URLWithString: [ NSString stringWithFormat: @"http://www.google.com"] ];
NSString *test = [NSString stringWithContentsOfURL:url];
Se si vuole veramente per convertire i dati dal NSData è possibile utilizzare questo:
NSString *myString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
Altri suggerimenti
NSURLRequest solo definisce una richiesta - che non fa nulla per sé. Per fare in realtà una richiesta, è necessario dare la richiesta di un NSURLConnection .
Inoltre, come indicato nel documentazione , il HTTPBody sono dati che viene inviato con la richiesta, non il corpo di risposta.
C'è un articolo su www.eigo.co.uk che mostra esattamente come fare la richiesta e ottenere la risposta in una variabile stringa, ma il pezzo di codice che serve è ...
NSString * strResult = [[NSString alloc] initWithData:oResponseData encoding:NSUTF8StringEncoding];
Controlla l'articolo qui http: //www.eigo. co.uk/iPhone-Submitting-HTTP-Requests.aspx