extraer datos de cacao petición HTTP GET
-
22-08-2019 - |
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!
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