Android 配置https抓包
在Android中抓包常用fidder或者Charles,http可以直接抓去到请求信息,https抓取不到
下面介绍两种抓包方案,可以轻松的获取请求的信息。
一、使用用户证书
1、application中
android:networkSecurityConfig="@xml/network_security_config" android:usesCleartextTraffic="true"
2、res/xml
新建network_security_config:
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <debug-overrides> <trust-anchors> <!--信任系统的证书--> <certificates src="system" /> <!--信任用户安装的证书--> <certificates src="user" /> </trust-anchors> </debug-overrides> <base-config cleartextTrafficPermitted="true" /> </network-security-config>
3、安装证书
将证书下载到手机 ——> 打开手机设置 ——> 从存储设备安装证书 ——> 从存储设备安装证书 ——> CA证书 ——> 选择仍然安装 ——> 存储卡路径中选择下载的xxx.cer证书 ——> 安装完毕提示已安装
二、使用内置证书
1、application中
同上
2、res/xml
新建network_security_config:
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <!--内置证书--> <domain-config> //添加https的域名,例如https://blog.csdn.net/mrxiagc,填写log.csdn.net,有多个添加多个,不添加的则抓取不到 <domain includeSubdomains="true">dc.ccrz.com.cn</domain> <domain includeSubdomains="true">192.168.145.239</domain> <trust-anchors> //注意这里没有后缀名.cer <certificates src="@raw/charles" /> </trust-anchors> </domain-config> </network-security-config>
3、res/raw
将导出的证书放在raw下,例如:charles.cer