曾无好事来相访,赖尔高文一起予。这篇文章主要讲述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 查看https请求数据 Mac/ android】
文章图片
输入系统用户名密码-> 选择[系统]类型,添加完成后,找到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="https://www.songbingjia.com/android/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以下系统的机子
推荐阅读
- Android蓝牙开发
- 怎样通过Html网页调用本地安卓app
- An internal error occurred during: &quot;J2EE Component Mapping Update&quot;.
- AndroidActivity间动画跳转
- Android 开发 Tip 6 -- Spinner
- Android在项目中接入腾讯TBS浏览器WebView的教程与注意的地方
- Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation 返回 null)
- android解决webview,页面关闭之后,视频或者音频还在播放的问题
- 细数Android5.0到Android7.X 多媒体技术新特性