Objective c 我不能';t在URL中发送带有阿拉伯字母的请求
我正在开发一款iPhone应用程序,它利用谷歌搜索api和阿拉伯语内容进行搜索 每当我发送一个在URL中包含阿拉伯字母的请求以获取JSON文件格式时,我都会收到一条错误消息,表明请求失败。这是请求的外观: https://www.googleapis.com/customsearch/v1?oe=utf-8&ie= ISO-8859-6&key=[MY KEY]&cx=013036536707430787589:_pqjad5hr1a&q=جوجل&alt=jsonObjective c 我不能';t在URL中发送带有阿拉伯字母的请求,objective-c,ios,json,url,Objective C,Ios,Json,Url,我正在开发一款iPhone应用程序,它利用谷歌搜索api和阿拉伯语内容进行搜索 每当我发送一个在URL中包含阿拉伯字母的请求以获取JSON文件格式时,我都会收到一条错误消息,表明请求失败。这是请求的外观: https://www.googleapis.com/customsearch/v1?oe=utf-8&ie= ISO-8859-6&key=[MY KEY]&cx=013036536707430787589:_pqjad5hr1a&q=جوجل&alt=json 您必须在URL中使用百分比编
您必须在URL中使用百分比编码才能正常工作,因为您不能在URL中传递任意字符串。有关更多信息,请参阅。基本上,它归结为通过
stringby添加percentescapesusingencode:
方法运行字符串。由于此方法仅支持UTF-8编码,因此您还必须在URL中传递ie=UTF-8
,而不是ie=ISO-8859-6
,您必须在URL中使用百分比编码,因为您不能只传递URL中的任意字符串。有关更多信息,请参阅。基本上,它归结为通过stringby添加percentescapesusingencode:
方法运行字符串。由于此方法仅支持UTF-8编码,因此您还必须在URL中传递ie=UTF-8
,而不是ie=ISO-8859-6
像个魔术师一样工作!谢谢,这是我至少能为你做的四件事,当然,除了把你的答案作为解决方案。以下是我所做的:NSString*search=[NSString stringWithFormat:@“];url=[NSURL URLWithString:[search StringByAddingPercents EscapeSusingEncoding:NSUTF8StringEncoding]];像个魔术师一样工作!谢谢,除了将你的答案标记为解决方案之外,我至少可以为你做四件事。以下是我所做的:NSString*search=[NSString stringWithFormat:@];url=[NSURL URLWithString:[search StringByAddingPercents EscapeSusingEncoding:NSUTF8StringEncoding];
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];