OkHttp Illegal User-Agent Exception

Bugly上报了一个异常,闪退,无法正常请求业务。

image

因业务需要,User-Agent需要进行定制(这个操作很常见啦)

image

自定义的UA值是

image

通过查看okhttp源码可知,

builder.addHeader实际调用

image
image

对添加或者删除的Header进行了值检查

image

结合bugly的异常信息,存在一个0x4f1f值,其实就是okhttp不支持添加中文字符到header。

解决方案:在添加自定义UA时,进行字符检查

image

问题的原因是UA出现中文字符导致抛出非法值异常

而在这段UA里能出现中文字符的只有可能是Build. MANUFACTURER值

而这段值做过手机开发的人都应该知道,与蓝牙名称,设备名称不同,ro.product.*文件不应当被用户修改。

当然了,如果设备得到root权限,修改system\build.prop这个文件,是可以做到改变设备标识的。

image

你可能感兴趣的:(OkHttp Illegal User-Agent Exception)