调用移动接口遇到的问题总结

方向一旦跑偏,造成的影响是非常大的。

1、请求地址问题

问题描述:移动接口的请求地址是IP地址,需要在header中设置host参数。测试过程中一直遇到400错误而不知道原因,于是决定在PC上面使用fidder进行抓包查看。抓到的包一直有问题,host地址始终是ip地址而不是设置好的域名。

问题原因:fidder抓手机包采用的是代理方式。抓包后对header中的host信息进行了改动。更深层次的原因是fidder采用了PC端的DNS解析。

问题解决:使用fidder抓包时,PC上面修改hosts文件,手机端请求地址改为域名方式。

2、Base64编码问题

问题描述:使用fidder抓包后发现,header信息中有一个参数不正确。移动方提示参数未设置。

问题原因:程序中使用了android.util.Base64进行Base64加密。该包进行加密的时候默认进行了自动换行操作。

问题解决:使用android.util.Base64包进行加密的时候,第二个参数需要改为Base64.NO_WRAP。

发表评论