Charles进行https抓包
# 安装证书

打开 Charles 的菜单

```js
Help—>SSL Proxying Setting—>Install Charles Root Certificate
```

![image](https://user-images.githubusercontent.com/17243165/35030434-e07126d6-fb99-11e7-81a5-117cc45cf3af.png)

这里注意新版本的 IOS 还需要设置如下： `关于本机 -> 证书信任设置 -> 针对根证书启用完全信任` 打开 Charles Proxy Ca 的证书

![image](https://user-images.githubusercontent.com/17243165/71539343-f5349d80-2975-11ea-821a-3d07accd7ce9.png)


# 手机安装证书

在手机浏览器打开以下[链接](charlesproxy.com/getssl)
```
charlesproxy.com/getssl
```
![image](https://user-images.githubusercontent.com/17243165/35030627-aef4c896-fb9a-11e7-9ed5-dc860e03e664.png)

如果是whistle，配置代理之后，由于无法扫描二维码下载证书

所以用Safari打开网址`http://rootca.pro`下载rootca证书进行安装，并通过上面的证书认证即可进行代理

# Proxy设置

把下面几个勾上就可以了
![image](https://user-images.githubusercontent.com/17243165/35031372-94d2a8c2-fb9d-11e7-9c35-e4f90f5625e3.png)

# Proxy设置

![image](https://user-images.githubusercontent.com/17243165/35031381-ab1e04c8-fb9d-11e7-8752-20af7fb28a64.png)

# Mac

如果是 Mac 系统，还需要在钥匙串里面设置证书的如下设置
<img width="542" alt="2018-09-27 7 26 45" src="https://user-images.githubusercontent.com/17243165/46114799-ca194680-c226-11e8-81bb-d9b7c8466223.png">
<img width="413" alt="2018-09-27 7 28 45" src="https://user-images.githubusercontent.com/17243165/46114844-077dd400-c227-11e8-93ec-f9a934d82312.png">

# 劫持JS
> 启用Tools > Map Local



# 手机设置代理

通过以上步骤即可抓取 https 包了，手机不要忘记设置相应的代理

# IOS Webview 手机调试

- 【Mac】使用 Safari 浏览器的“开发”菜单

> 请选取`Safari 浏览器`>`偏好设置`，点按`高级`，然后选择“在菜单栏中显示开发菜单”。

- 【iPhone】开启调试模式

> 要远程调试 IOS Safari ，必须启用 `Web 检查` 功能，打开 iPhone 依次进入 设置 > Safari > 高级 > Web 检查 > 启用。

![IMG_0193](https://user-images.githubusercontent.com/17243165/76921386-e8866c80-6908-11ea-9630-cce725f07cea.PNG)

iPhone 链接到 mac 上，打开 Safari 浏览器，运行手机 app 里面的 web 页面，在 `开发` 菜单中选择连接的手机，找到调试的网页，就能在 Safari 里面调试了

<img width="1620" alt="截屏2020-03-18下午2 51 37" src="https://user-images.githubusercontent.com/17243165/76933609-74f45780-6928-11ea-8875-3a48a08032d0.png">

如果 Safari 浏览器在 `开发` 中找不到模拟器选项，则可以关闭浏览器和模拟器重新多开几次尝试。

记得在手机安装 https 证书

<img width="447" alt="截屏2020-03-18下午3 49 42" src="https://user-images.githubusercontent.com/17243165/76939407-492a9f00-6933-11ea-9ad0-b2e28b9bfbc4.png">

并且在全局设置代理，才可以抓包或者调试

<img width="666" alt="截屏2020-03-18下午3 49 12" src="https://user-images.githubusercontent.com/17243165/76939545-898a1d00-6933-11ea-90bf-4cfaefcf960d.png">

# 参考文档

- [使用Charles获取https的数据](http://blog.csdn.net/yangmeng13930719363/article/details/51645435)
- [使用Charles进行https抓包](http://blog.csdn.net/s003603u/article/details/53842557)
