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!

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top