Yan.G WebServer Dev Engineer

charles 应用记录

2020-08-06

charles 功能记录

配置抓取特定的接口 Filter 过滤

Filter 支持正则表达式 (settings -> Filter users regex)

## 抓取某一个网站的接口并且过滤已 collect 结尾的请求 
qjyedu-api.com.*[^collect]$
  • 优秀的正则能快速抓取到我们想要的数据,排除掉干扰信息

过滤请求

  • 正则无疑是最便捷的方式,同样还有如下几种方式可以尝试 ```bash

    过滤系统请求

    MenuList -> Proxy -> maxOSProxy

过滤某一个具体的请求

Sequece -> Menu -> BlackList

这种方式会加入到黑名单中,解开方式

Menlist -> Tools -> BlackList (remov the point request)


#### 代理手机请求
* charles 可以代理手机请求,对于本地调试有这无与伦比的便利
```bash
## 开启代理
MenuList -> proxy -> prxy Settings -> Enable transparent HTTP proxying

## 先安装本地证书
MenuList -> Help -> SSL proxying -> Install Charles Root Certificate

## 安装手机证书
MenuList -> Help -> SSL proxying ->  Install Charles Root Certificate On a Mobile Devie or Remove Browser

## 上一步一般安装不成功,别灰心,因为 高版本系统的手机 有安全限制(脸白的这一步可以跳过了)
MenuList -> Help -> SSL proxying ->  Save Charles Root Certificate
## 保存证书到你电脑上,想办法发到手机上,在手机上安装

## 打开手机Wifi 指定代理 地址 和 端口
## 一般电脑这时有个弹窗,忘记说的啥了,点是就对了
  • 经过上面这几部,电脑已经可以抓取手机包了

调试生产环境App

  • 手机抓包后,有的时候需要调试问题,可以将远程地址映射到本地,也就是使用线上包,调试本地代码 ```bash

    过滤某一个具体的请求

Sequece -> Menu -> Map Remote

根据弹出的地址,我们可以缩写或者放到地址范围,去调试不同的接口

* 方法很简单,只是这个功能少有知道


#### 如何和科学上网工具并存
* charles 和大部分科学上网工具有冲突,遇到抓不到包的情况,优先查看是否开启科学生网工具
使用浏览器插件 SwitchyOmega
对chalrles 和 科学上网工具分别 添加 代理地址,在不同需求时连接不同代理
```bash
v2ray   socks5 127.0.0.1 1080
charles http   127.0.0.1 8888 

下一篇 守护进程

Content