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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,734评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,578评论 19 139
  • 硕沙粒阅读 877评论 0 1
  • 做自己就要面对整个同化世界的责难,你作为一个生物就该为自己的每次呼吸每一个想法而烦恼而不是像石块一样只用呆呆的待在...
    阳光直射下的沙漠阅读 708评论 0 0
  • 你说 山那么高 怎么去攀登 我说 天那么广 你可以去翱翔 你说 路上重重险阻 我说 总有人陪你风雨兼程 你说 日日...
    玄秦阅读 1,144评论 0 1