介绍
Charles是在您自己的计算机上运行的Web代理(HTTP代理/ HTTP监视器)。然后将您的Web浏览器(或任何其他Internet应用程序)配置为通过Charles访问Internet,然后Charles可以为您记录和显示所有发送和接收的数据。
在Web和Internet开发中,您无法看到Web浏览器/客户端与服务器之间正在发送和接收的内容。没有这种可见性,很难准确地确定故障的位置。Charles使您可以轻松查看正在发生的情况,因此您可以快速诊断和解决问题。
Charles使调试变得快速,可靠和高级。节省您的时间和沮丧!
作用
- SSL代理–以纯文本格式查看SSL请求和响应
- 带宽限制以模拟较慢的Internet连接(包括延迟)
- AJAX调试–以树或文本形式查看XML和JSON请求和响应
- AMF –以树形视图查看Flash Remoting / Flex Remoting消息的内容
- 重复请求以测试后端更改
- 编辑请求以测试不同的输入
- 拦截和编辑请求或响应的断点
- 使用W3C验证器验证记录的HTML,CSS和RSS / atom响应
下载
官方网站: www.charlesproxy.com/latest-rele…
破解: www.zzzmode.com/mytools/cha…
环境配置
-
macOS代理设置
-
Charles可以自动配置macOS系统代理设置,以便Safari和其他macOS应用程序自动使用 Charles启动。
-
首次安装Charles时,系统将提示您授予Charles权限以自动配置代理设置。此后,无论Charles启动还是退出,Charles都会配置然后重新配置macOS代理设置。
-
可以在“代理”菜单的“代理设置”对话框的Charles中更改Charles代理配置行为。
-
如果要自己查看macOS代理设置,请在“系统偏好设置”的“网络”面板的高级区域中进行配置。
-
为了将HTTP 2与Safari中的Charles一起使用,您必须在SOCKS模式下使用Charles。请参阅代理设置以配置SOCKS。
-
-
iOS设备设置
-
要将Charles用作iPhone上的HTTP代理,必须在iPhone的“设置”中手动配置WiFi网络上的HTTP代理设置。
-
转到“设置”应用,点击“ Wi-Fi”,找到您连接的网络,然后点击它以配置网络。向下滚动到HTTP代理设置,点击手动。在“服务器”字段中输入运行Charles的计算机的IP地址,然后在“端口”字段中输入运行Charles的端口(通常为8888)。将身份验证设置为关闭。
-
iPhone上的所有网络流量现在都将通过Charles发送。首次从iPhone建立连接时,您应该在Charles中看到提示,要求您允许流量。允许此连接。iPhone的IP地址将添加到Charles中的“访问控制”列表中,您可以在“代理”菜单>“访问控制设置”中查看和更改。
-
当您停止使用Charles时,请记住在“设置”中禁用HTTP代理,否则您的应用程序中的网络故障会令人困惑!
误点 Deny: 在 Proxy->Access Control Settings 添加手机的ip
-
-
安卓设备设置
- 同iOS区别不大
iOS抓包HTTPS
浏览器输入 chls.pro/ssl ,会自动下载证书,下载完之后,后缀名改为 .crl, 然后,设置 => 已下载描述文件 => 安装 , 然后去 设置 => 关于本机 => 证书新人设置 => 打开信任。
安卓抓包HTTPS
浏览器输入 chls.pro/ssl ,会自动下载证书,下载完之后,后缀名改为 .crl, 然后, 设置 => 安全 => 更多安全设置 => 加密和凭证 => 从存储设备安装 , 然后选择下载的凭证,改名授权。
HTTPS抓包效果
使用
-
扫把icon: 清除垃圾
-
force: 只看当前域名的接口
-
file -> Import... / Export Sesion... 保存导入文件
-
repeat advanced: 负载测试
-
map location / map remote 本地mock / 远程 mock
-
Compose 多次修改发送请求
www.charlesproxy.com/documentati…
断点调试
右击请求 => Breakpoints , 选中 然后去 Proxy => Breakpoints Setting... => 双击要修改的请求, Query 设成 *, Reuest 和 Response 表示是否 请求时断点和响应时断点。 再次请求网页,charles 会跳转到断点,然后可以编辑了。
本地 mock
map location / map remote