извлечение данных из запроса cocoa http get
-
22-08-2019 - |
Вопрос
Я реализовал следующий код:
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