charles代理有的https访问正常有的访问失败

使用charles抓包, 有一个https接口不能正常访问, 提示网络错误
charles中的信息为

URL https://foo.bar.com
Status Failed
Failure No request was made. Possibly the SSL certificate was rejected.
Notes You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu.
Response Code -
Protocol HTTP/1.1
SSL TLSv1.2 (TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384)
Method CONNECT
Kept Alive No

但访问同一域名下的其他Https接口正常 此时的charles信息为

URL https://foo.bar.com/foo-bar/search?XXX
Status Complete
Response Code 200 OK
Protocol HTTP/1.1
SSL TLSv1.2 (TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384)
Method GET
Kept Alive No
Content-Type application/json;charset=UTF-8

为什么同一域名下有的可以, 有的不行呢?

阅读 59.5k
6 个回答

你会发现method为connet的https都是不行的,具体什么原因,不明。

重新装了证书就没有上面的问题了。

图片描述

手机中访问上面的网址,出现下图, 输入一个名称点确定即可。
图片描述

新手上路,请多包涵

https://www.charlesproxy.com/...
写的很清楚要Android app信任证书:Add a file res/xml/network_security_config.xml to your app:(minSdk改成24就可以用android:networkSecurityConfig这个属性了 )

<network-security-config>
<debug-overrides>
<trust-anchors>
<!-- Trust user added CAs while debuggable only -->
<certificates src="user" />
</trust-anchors>
</debug-overrides>
</network-security-config>
Then add a reference to this file in your app's manifes, as follows:

<?xml version="1.0" encoding="utf-8"?>
<manifest ... >

<application android:networkSecurityConfig="@xml/network_security_config" ... >
    ...
</application>

</manifest>
搜了很多都没答案,看官方文档就是了。同意的话,置顶吧!

新手上路,请多包涵
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏