通常后台给我们的接口,如果是Get请求是比较少带参的,而IOS中必须把URL中含有的中文字符转化为UTF8编码,String 为转换后我们所需的URL地址。

例如:
预留参数的网址
NSString *Str = @”https://api.smartnlp.cn/cloud/answer?q=你好”;
将网址转化为UTF8编码
NSString *String = [Str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
1
2
3
4
你会发现 stringByAddingPercentEscapesUsingEncoding 方法出现了感叹号,那是因为iOS9.0后,该方法已经被另一个方法替代了

将网址转化为UTF8编码
NSString *String = [Str stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSe