Вопрос

Я реализовал следующий код:

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

Я хочу извлечь тело из того, что я получаю обратно с приведенного выше URL.Я попытался:

NSData *data = [request HTTPBody];

В данные переменная не возвращает никаких данных?Правильно ли я собираюсь извлечь данные из запроса?

Спасибо!

Это было полезно?

Решение

Если вы просто пытаетесь получить веб-страницу, вы можете использовать это.

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

Если вы действительно хотите преобразовать данные из NSData, вы можете использовать это:

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

Другие советы

NSURLRequest просто определяет запрос — сам по себе он ничего не делает.Чтобы действительно сделать запрос, вам нужно передать запрос в Соединение nsurl с.

Кроме того, как указано в Документация, HTTPBody - это данные, которые отправляются вместе с запросом, а не тело ответа.

Есть статья на www.eigo.co.uk в которой точно показано, как выполнить запрос и получить ответ в строковой переменной, но вам нужен фрагмент кода...

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

Ознакомьтесь со статьей здесь http://www.eigo.co.uk/iPhone-Submitting-HTTP-Requests.aspx

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top