Volley 改变参数编码格式,"UTF-8"
2018-03-15 本文已影响21人
snowIceg
事件起因:
起因就是公司让写个Android的搜索功能,我得到的只有从浏览器抓下来的网页请求的数据包。百度都是一堆乱七八糟的,只能得到头重写getHeaders(),参数重写getParams()方法。
解决办法:
非常简单,重写完getHeaders(),getParams()后,再重写StringgetParamsEncoding()方法就可以了。
贴代码
@Override
protected StringgetParamsEncoding() {
return "GBK"; //服务器需要什么编码格式,直接写就好
}
总结
因为是抓包比较,我这能看到的只有Android发送的request里面有两个Content-Type,一个是我在header里手动设置的,另外一个Content-Type的值里还有“charset=UTF-8”,所以我一直在找为什么我覆盖了还会出来第二句,浪费了很多时间,看了AntichristM的CSDN(地址:http://blog.csdn.net/u012375207/article/details/51331119),知道了阅读源码的重要,也知道了应该如何正确的去阅读源码,虽然解决方案很简单,但是此次确实获益匪浅。