Question

Je mis en œuvre le code suivant:

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

Je veux extraire le corps de ce que je reçois de retour de l'URL ci-dessus. Je tentais:

NSData *data = [request HTTPBody];

données variables ne retourne pas de données? Est-ce que je vais sur l'extraction des données sur la demande de la bonne façon?

Merci!

Était-ce utile?

La solution

Si vous essayez juste d'obtenir une page Web, vous pouvez utiliser.

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

Si vous voulez vraiment convertir les données de NSData vous pouvez utiliser ceci:

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

Autres conseils

NSURLRequest définit simplement une demande - il ne fait rien par lui-même. Pour réellement faire une demande, vous devez donner la demande à un NSURLConnection .

En outre, comme il est indiqué dans la section documentation , le HTTPBody sont des données qui est envoyé à la demande, et non le corps de la réponse.

Il y a un article sur www.eigo.co.uk qui montre exactement comment faire la demande et obtenir la réponse dans une variable de chaîne, mais le morceau de code que vous avez besoin est ...

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

Consultez l'article ici http: //www.eigo. co.uk/iPhone-Submitting-HTTP-Requests.aspx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top