我们昨天刚从http中将所有其余的API切换为https。因此,我目前无法从我的设备拦截Charles中的休息呼叫(我之前能够做得很好),但仅用进行单元测试。
当我运行应用程序时,我可以看到Charles中的所有api调用就好了(我在我的Android设备上配置了Charles证书)。但是,当我在Android Studio中运行单元测试时,我会在每个API调用的概述中看到以下内容:
No request was made. Possibly the SSL certificate was rejected.
You may need to configure your browser to trust the Charles CA SSL certificate.
我正在使用Charles 3.9.2。
答案 0 :(得分:0)
如何在java中使用Charles:
导出您的Charles证书' SSL Proxying->保存Charles Root证书'。将证书保存为.pem
将证书添加到JVM。修改并运行命令:
keytool -import -alias charles -file <PATH_TO_CHARLES_CERTIFICATE.pem> -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit
P.S。 keytool
是JDK的一部分,通常它属于$ JAVA_HOME / Contents / Home / bin /