在Android 12以下,使用WebView请求数据会添加请求头X-Requested-With
。从Android 12开始部分移除,Android13开始完全移除,本文记录如何在低版本移除修改的部分参考代码
首先参考如下链接:
Spoof or remove X-Requested-With header from webview
https://github.com/mihonapp/mihon/pull/1812
Spoof or remove X-Requested-With header from webview #1812
https://github.com/mihonapp/mihon/pull/1812/commits/cc26d13e54a97c5e202092f4c2cbd7fdf0a97318
该代码使用原理是使用在WebView请求时候拦截请求,尝试移除header,但是post合fetch请求无法移除,这时候使用Application中修改包名返回值的方式进行欺骗包名,但是要注意的是,包名需要是手机上已有的包名,不能是不存在的包名,否则会导致程序崩溃,这里提供一个参考包名:
com.android.chrome
需要注意的是上述参考链接的代码在使用请求时候拦截的方式实际运行百度网址的时候,会报错,提示baidulite://。。。。的页面错误