美文网首页iOS开发常用技术杂谈
Charles的安装到iOS开发中使用

Charles的安装到iOS开发中使用

作者: 讨厌下雨的鱼 | 来源:发表于2018-06-19 17:20 被阅读1次

    简介

    是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)。

    主要功能

    • 支持SSL代理。可以截取分析SSL的请求。

    • 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。

    • 支持AJAX调试。可以自动将json或xml数据格式化,方便查看。

    • 支持AMF调试。可以将Flash Remoting 或 Flex Remoting信息格式化,方便查看。

    • 支持重发网络请求,方便后端调试。

    • 支持修改网络请求参数。

    • 支持网络请求的截获并动态修改。

    • 检查HTML,CSS和RSS内容是否符合W3C标准。

    没错,以上来自百度百科:https://baike.baidu.com/item/Charles/7841179?fr=aladdin

    按照我的说法就是抓取网络数据的.
    我们在开发中,某些功能的调试和测试需要后台配合修改数据.有了它你就可以一人独自嗨,想怎么修改测试就怎么来😁.

    一.安装

    Charles下载地址:https://www.charlesproxy.com

    • 没注册的charles,30分钟就会关闭一次.但是依然还是可以使用的.

    二.抓取手机网络包

    1. Charles默认抓取电脑网络数据


      设置Proxy.png
      勾选表示抓取电脑网络数据.png
    2. 设置抓取手机数据,这里以iOS为例

    • 保证手机和电脑在同一个wifi下面
    • 查看当前电脑ip


      image
    • 配置Charles:在菜单栏上选择 Proxy->Proxy Settings,填入代理端口 8888,并勾上 “Enable transparent HTTP proxying” 即完成了代理
    • 在手机wifi网络中添加代理,输入电脑IP和charles的端口号 8888


      image.png
    1. 配置抓HTTPS包
    • Mac安装SSL证书,在Help→SSL Proxying→Install....,如下图所示:


      image.png
    • 选择后,就会出现证书下载,下载成功后会电脑”钥匙串访问“中看见(这里我已经安装并信任过了),然后双击下载的证书,勾选信任即可,如下图所示(在钥匙串访问中寻找下Charles):


      image.png
    • 配置信任


      image.png
    • 手机安装SSL证书,在SSL Proxying中勾选Install ...Mobile Device 会弹出一个框,用手机(处于代理状态下)登陆指定的url下载证书即可,如下图所示:


      然后按照顺序按照即可.png
    1. 这时候你抓https的时候还是发现不行,乱码加unknown


      image.png
    • 这时候我们还需要一步操作,就是将想要抓的https加入到SSL代理中,这样才能被Charles识别并解析,选择我们要抓的请求,右键你乱码的域名选择"Enable SSL Proxying",如下图所示:


      image.png

    三.其它常用功能

    1. 网络限速


      网络限速.png

    2.通过修改数据源

    • 修改服务器返回的内容
      Map Remote(Tools→Map Remote Settings),将网络响应定向至另外一个网络服务,从而达到修改返回内容的目的,如下图所示:


      修改请求服务器.png
    • Map Local(Tools->Map Local Settings),将网络响应定向至本地文件,从而达到修改返回内容的目的,如下图所示:


      image.png

    3.断点调试,修改网络请求和响应内容

    • 打断点
      选中需要打断点的域名(一般断点在请求的父目录),右键->Breakpoints
    • 打了断点,代理会在发送请求的时候拦截并断点网络请求.


      image.png

    4.设置关注请求(有时间,一时间会有多个请求,为了只关注我们关注的请求,简化),选中我们关系的请求,设置Focus即可.


    image.png

    相关文章

      网友评论

        本文标题:Charles的安装到iOS开发中使用

        本文链接:https://www.haomeiwen.com/subject/kewaeftx.html