Android App加载WebView时的header修改
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录目录系列文章目录文章目录前言解决方案二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了
·
文章目录
前言
最近预上线的app都需要安全部门进行安全检测,检测结果是不通过,原因是在同意隐私协议前有请求网络数据并且header中带有系统版本 手机型号等敏感信息。
提示:以下是本篇文章正文内容,下面案例可供参考
原因
在点击同意隐私协议前,进入了一个隐私合规说明的h5页面,在加载h5 web页面时,webview自己加入了几个请求header,其中就有UserAgent。
各字段含义如下图:
字符串 | 说明 |
Mozilla/5.0 | 伪装成Mozilla排版引擎的浏览器以达到兼容 |
(Linux; Android 8.1.0; NX606J Build/OPM1.171019.026; wv) | 浏览器所运行的系统的详细信息 |
AppleWebKit/537.36 | 浏览器所使用的平台 |
(KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.98 | 浏览器平台的详细信息 |
Mobile Safari/537.36 | 被浏览器用于指示特定的直接由浏览器提供或者通过第三方提供的可用的增强功能 |
可以看到第一个小括号里面有两个用户的设备信息,所以安全检测不过。
解决方案
可以通过修改webview的UserAgent去解决:
String userAgent = webView.getSettings().getUserAgentString();
if (!TextUtils.isEmpty(userAgent)) {
String userAgent_sys = userAgent.substring(userAgent.indexOf("("), userAgent.indexOf(")") + 1);
//去掉第一个小括号的设备信息
userAgent = userAgent.replace(userAgent_sys, "");
}
webView.getSettings().setUserAgentString(userAgent);

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)