Я не смог отправить запрос с арабскими буквами в URL - PullRequest
1 голос
/ 10 октября 2011

Я разрабатываю приложение для iPhone, которое использует API поиска Google и выполняет поиск по арабскому контенту.

Всякий раз, когда я отправляю запрос, содержащий арабские буквы в URL, чтобы получить формат файла JSON, я получаю ошибкусообщение указывает, что запрос не выполнен.Вот как выглядит запрос:

https://www.googleapis.com/customsearch/v1?oe=utf-8&ie= ISO-8859-6&key=[MY KEY]&cx=013036536707430787589:_pqjad5hr1a&q=جوجل&alt=json

Это метод в моем коде, который вызывает запрос и получает данные:

NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.googleapis.com/customsearch/v1?oe=utf-8&ie= ISO-8859-6&key=[MY KEY]&cx=013036536707430787589:_pqjad5hr1a&q=جوجل&alt=json"]] delegate:self];

1 Ответ

6 голосов
/ 10 октября 2011

Вы должны использовать процентное кодирование в URL, чтобы заставить вещи работать, поскольку вы не можете просто передать любую произвольную строку в URL.См. этот вопрос для получения дополнительной информации.По сути, это сводится к запуску вашей строки с помощью метода stringByAddingPercentEscapesUsingEncoding:.Так как этот метод поддерживает только кодировку UTF-8, вам также придется передавать ie=utf-8 в URL вместо ie=ISO-8859-6.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...