Pregunta

He implementado el siguiente código:

NSURL *url = [ NSURL URLWithString:[ NSString stringWithFormat: @"http://www.google.com/search?q=%@", query ] ];
NSURLRequest *request = [ NSURLRequest requestWithURL: url ];

Quiero extraer el cuerpo de lo que recibo de vuelta de la URL anterior. Intenté:

NSData *data = [request HTTPBody];

datos variable no devuelve ningún dato? ¿Voy acerca de cómo extraer los datos de la solicitud de la manera correcta?

Gracias!

¿Fue útil?

Solución

Si usted está tratando de obtener una página web, puede utilizar este.

NSURL *url = [ NSURL URLWithString: [ NSString stringWithFormat: @"http://www.google.com"] ]; 
NSString *test = [NSString stringWithContentsOfURL:url];

Si realmente desea convertir los datos de NSData puede utilizar esto:

NSString *myString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

Otros consejos

NSURLRequest simplemente define una solicitud - que no hace nada por sí misma. Para realmente hacer una solicitud, es necesario dar a la petición a un NSURLConnection .

También, como se indica en el documentación , HTTPBody son datos que se envía con la solicitud, no el cuerpo de la respuesta.

Hay un artículo sobre www.eigo.co.uk que muestra exactamente cómo hacer la solicitud y obtener la respuesta en una variable de cadena pero el trozo de código que necesita es ...

NSString * strResult = [[NSString alloc] initWithData:oResponseData encoding:NSUTF8StringEncoding];

Consulte el artículo aquí http: //www.eigo. co.uk/iPhone-Submitting-HTTP-Requests.aspx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top