在发起网络请求时可能会需要对URLString进行编码
2016-05-26 16:38
417 查看
背景是今天一个小妹妹问我说:https你会吗?我要用https的接口请求数据,博主一听,https?上一次刚好用过,但是最后没有证书验证,所以一直很遗憾,当听到时乐坏了,果断说会啊,然后兴高采烈的拿到了小姑娘发的接口和cer证书,点击接口网页打开,看到了json数据。。。。。。。此处沉默三秒种,然后使用AF3.0来请求数据,然后。。。。。。此处沉默一分钟,你猜的没错,都能拿到数据,难道我搞错了?不科学啊,我还没用证书呢。跟小姑娘一说,小姑娘说用的AF2.0,可是也没啥区别啊,行吧,我换AF2.0,结果怎么样,大家已经清楚了。没错,虽然是https的接口,但是没有做接口的握手的SSL认证,所以跟http的接口没啥区别。
但是为什么小姑娘请求不到数据呢?好吧,发个控制台报错截图看看,
![](http://img.blog.csdn.net/20160526163545838)
看出来了吧,因为URLString可能存在某些字符需要转码,遂
然后数据出来了,好神奇啊。
初学者在请求数据时要注意啦,如果你们的接口含有汉字或者某些特殊字符时,需要转码UTF-8,否则是不符合http或者https接口规范的。
但是为什么小姑娘请求不到数据呢?好吧,发个控制台报错截图看看,
看出来了吧,因为URLString可能存在某些字符需要转码,遂
NSString *URLEncoding = [URLString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; //转码成UTF-8 否则可能会出现错误
然后数据出来了,好神奇啊。
初学者在请求数据时要注意啦,如果你们的接口含有汉字或者某些特殊字符时,需要转码UTF-8,否则是不符合http或者https接口规范的。
相关文章推荐
- 餐巾计划问题[网络流24题之10]
- [置顶] Android 网络框架之Retrofit2使用详解及从源码中解析原理
- 深度思维:网络推广的三个不重要
- HttpUtils模块分析之网络请求
- HTTP POST请求并将请求参数设置成请求体添加到请求中
- 网络与通信:网络编程(概念)
- windows的服务中的登录身份本地系统账户、本地服务账户和网络服务账户修改
- windows的服务中的登录身份本地系统账户、本地服务账户和网络服务账户修改
- windows的服务中的登录身份本地系统账户、本地服务账户和网络服务账户修改
- 2016年Q2《网络安全创新500强》榜单解读
- http cookies
- 扩展访问列表 IP TCP
- Android实现基于TCP和UDP协议的即时通讯,含android端和服务器端
- 安装1:自带的实例http://127.0.0.1:1080/WebTours/无法访问,空白页
- Retrofit2.0 + OkHttp3 遇到的坑
- mysqld启动“ Can't start server: Bind on TCP/IP port: Address already in use Do you already have anothe
- HTTP状态码详解
- 【蓝桥杯】网络寻路
- android-async-http简单封装--笔记
- iOS 应用将适应新的的IPv6-only网络 -解决方案