Android学习之GET,POST与后台交互乱码问题
2016-04-14 18:13
453 查看
今天遇见Android与后台交互出现乱码的问题,觉得有必要总结一下,作为参考,遂著文以记之。
交互?通俗点就是GET,POST,当然远远不止这些,我也记不住就不提了,常用的就是这俩。
二者的区别:
Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求,在FORM(表单)中,Method默认为”GET”,实质上,GET和POST只是发送机制不同,并不是一个取一个发!
1.安全性:GET请求,参数会以&连接在URL尾部,可见,PSOT请求,会将参数放在body中,不可见。
解决:理论上我们可以对参数进行加密,这样就算参数可见也不会泄露问题,如果是黑客,你咋样都不安全,所以对于安全,看个人理解了。
2.长度限制:GET请求理论上提交的数据最多只能是1024字节,POST没有这种限制,可以传大量数据。
解决:GET请求通过URL传递参数,URL越长,则提交数据越多,二者成正比,
但是Http协议并没有对URL长度做出限制,这个显示是浏览器对URL做的限制。同理,POST也是如此,而之所以会有上传数据限制,是由服务器处理程序的能力决定的。
乱码解决办法:
1.双方约定同样的编码方式(一般都是UTF-8),Android studio使用者只需要修改这几个地方
就这么几个地方就行了
2.就需要检查交互方法,后台post提交则需要UTF-8编码,get提交这需要iso 8859-1编码
所以如果后台要用utf-8编码的话,那么你就要post你的接口。
3.如果还不行,就要后台检查是否添加这一句:
request.setCharacterEncoding(“utf-8”)
默认是ISO-8859-1;该方法必须在response.getWriter()之前进行设置
总结完毕!
交互?通俗点就是GET,POST,当然远远不止这些,我也记不住就不提了,常用的就是这俩。
二者的区别:
Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求,在FORM(表单)中,Method默认为”GET”,实质上,GET和POST只是发送机制不同,并不是一个取一个发!
1.安全性:GET请求,参数会以&连接在URL尾部,可见,PSOT请求,会将参数放在body中,不可见。
解决:理论上我们可以对参数进行加密,这样就算参数可见也不会泄露问题,如果是黑客,你咋样都不安全,所以对于安全,看个人理解了。
2.长度限制:GET请求理论上提交的数据最多只能是1024字节,POST没有这种限制,可以传大量数据。
解决:GET请求通过URL传递参数,URL越长,则提交数据越多,二者成正比,
但是Http协议并没有对URL长度做出限制,这个显示是浏览器对URL做的限制。同理,POST也是如此,而之所以会有上传数据限制,是由服务器处理程序的能力决定的。
乱码解决办法:
1.双方约定同样的编码方式(一般都是UTF-8),Android studio使用者只需要修改这几个地方
就这么几个地方就行了
2.就需要检查交互方法,后台post提交则需要UTF-8编码,get提交这需要iso 8859-1编码
所以如果后台要用utf-8编码的话,那么你就要post你的接口。
3.如果还不行,就要后台检查是否添加这一句:
request.setCharacterEncoding(“utf-8”)
默认是ISO-8859-1;该方法必须在response.getWriter()之前进行设置
总结完毕!
相关文章推荐
- Android查询 每个进程的权限
- Android5.0以太网流程源码情景分析
- Android中的复制粘贴?
- rxjava -android
- Android Handler 异步消息处理机制的妙用 创建强大的图片加载类
- Android系统启动过程
- Android启动过程深入解析
- Android事件分发笔记
- 流行的android组件大全
- Android Volley文件上传(二)
- GitHub上史上最全的Android开源项目分类汇总
- Android中使用自己的ttf文字
- Button点击缩放动画效果
- AndroidManifest.xml文件详解
- 无需翻墙,手动下载 Genymotion 模拟器 Android 虚拟设备
- Android学习之如何配置使用Android studio的terminal
- Android与SNMP协议
- Memory Cache
- Android欢迎界面
- android里的“陷阱”