Android开发填坑之自定义User-Agent(UA)

发布时间:2018-06-19 19:40,

浏览次数:1412

, 标签:

Android

User

Agent

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信息

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐