在跟 php 调试一个接口的时候,发现了一个很奇怪的问题,android 请求接口提示验证失败,我找了 ios 的请求参数,比较参数发现没有问题。
然后查看了一下 php 的报错日志,发现了 php 获取的参数跟客户端传递的参数不一致。比较了一下 android 提交的参数,发现有一个 + 号变成了空格。
检查了一下 android 的传参方法,发现因为某个参数需要 base64 。转换之后的参数中间包含有 + 号,而 url 传递参数需要 urlencode 编码,所以将该参数 urlencode之后,请求正常。