charles使用教程

337 阅读4分钟

介绍

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

Compose 多次修改