在一次UIWebView请求页面的时候,发现模拟器一直请求不正确
每次回调都进去这个方法里面:
- (void)webView:(UIWebView *)webView didFailLoadWithError:(nullable NSError *)error
而在真机和浏览器分别请求这个地址都是没有问题的,仔细看error的错误,百度了一下
知道可以用这个方法解决:
originURLString = [originURLString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
结果就半知半解地糊弄过去了,其实真正的原因你知道嘛?
有的同学会说是不是转码成UTF-8形式? 难道本来就不是UTF-8吗?!很明显就错了嘛!
看这个吧:
http://blog.csdn.net/saoraozhe3hao/article/details/51753209
主要搞不清楚:转码,转义
我们之所以直接贴在浏览器可以请求成功,就是因为浏览器会自动帮你转义了,转义为规范的请求地址。
而上面的iOS方法的一个很重要的作用就是转化为合法的URL string:
学习一定要刨根到底啊!