Android开发填坑之自定义User-Agent(UA)
问题现状我们应用的浏览器组件打开抖音的某个视频播放页(如https://www.iesdouyin.com/share/video/6537198229467958531/),返回的是PC版的页面,效果如下所示在之前的分享中,我有提过页面排版效果的问题几乎是UA的问题,所以第一时间切换UA看看是什么效果先!(如下是切换Android KitKat webview的UA)注...
·
问题现状
我们应用的浏览器组件打开抖音的某个视频播放页(如https://www.iesdouyin.com/share/video/6537198229467958531/),返回的是PC版的页面,效果如下所示
在之前的分享中,我有提过页面排版效果的问题几乎是UA的问题,所以第一时间切换UA看看是什么效果先!(如下是切换Android KitKat webview的UA)
注:这里的浏览器组件是指对WebView的封装
根本原因
采用对比分析法,发现Android chrome访问目标页时(此时使用的chrome的UA如下)
// Android Android KitKat webview的UA
Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36
通过二分法排查,UA信息中Mobile Safari字串起着关键作用,目标网站用它来判断是否给移动版的页面
我们应用的浏览器组件的UA最主要的问题是把 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36 这类信息给去掉了 !!!
解决方案
为避免以后类型的问题发生,应用的浏览器组件的UA配置策略为默认UA的基础上追加我们由于业务需要扩展的UA信息,即
浏览器组件UA = android webview默认UA + 扩展的UA信息
更多推荐
所有评论(0)