Charles 查看https请求数据 Mac/ android
Charles_v4.0.1_Mac_破解版下载地址:https://pan.baidu.com/s/1c23VPuS
1、在Mac电脑上安装Charles的根证书
打开Charles->菜单Help->SSL Proxying->Install Charles Root Certificate
输入系统用户名密码->选择[系统]类型,添加完成后,找到Charles Proxy CA证书,并双击打开:
【信任】那里选择【始终信任】,设置完后关闭窗口:
2、安装手机上的证书
回到Charles,菜单Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote Browser
根据弹窗里的提示,打开手机,wifi设置,将代理设置连接到Charles,然后打开手机里的浏览器访问弹出所提示的网页地址,前面最好加上http(很多浏览器不输入http://会变成跳转搜索界面),比如我这边的是要访问:http://chls.pro/ssl,
如果浏览器只是弹出文件下载,文件下载完后又无法安装,则需要换一个浏览器,比如我的小米手机就是这样,我换了UC浏览器就可以正常弹出安装证书界面,名字随便取,用途要选【vpn和应用】,然后确定即可:
3、Charles上设置代理哪些https接口
可以对着Charles上已经显示有的链接右键,在弹出的菜单里选择[Enable SSL Proxying],再重新请求该接口就可以看到该链接请求的参数了
也可以在Charles菜单里设置:[Proxy]->[SSL Proxying Settings]
在弹出的界面勾选【Enable SSL Proxying】,然后点击底部的【Add】添加需要代理的https请求:
[Host]填写域名,可以用【*】代替其他字符,比如*.163.com 这样163.com这个域名下的所有连接都可以匹配
【Port】是固定的443,设置完之后重新请求https接口就可以了
注意事项:
1、如果换了一台电脑,手机上也要重新访问那个链接添加一个新的证书
2、android N 7.0以及以上系统会报错:
解决办法是在android App项目里:res\xml目录下新建一个文件network_security_config.xml内容如下:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<debug-overrides>
<trust-anchors>
<!--仅在可调试时信任用户添加的CA-->
<certificates src="user"/>
</trust-anchors>
</debug-overrides>
</network-security-config>
然后打开AndroidManifest.xml,【application】的属性里添加android:networkSecurityConfig="@xml/network_secruity_config"
<application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat.Light"
android:networkSecurityConfig="@xml/network_security_config">
重新打包运行安装即可,上面的配置只有debug包才有效,正式包还是依然不能正常代理https,release包要查看https代理可以找一台android 7.0以下系统的机子
posted on 2017-04-28 17:54 guangdeshishe 阅读(1031) 评论(0) 编辑 收藏 举报