zoukankan      html  css  js  c++  java
  • Charles的原理、作用

    一、Charles 相当于一个插在服务器和客户端之间的“过滤器”;

    其实 Charles 的实现原理并不复杂;大概的实现如下;

    当客户端向服务器发起请求的时候,先到 charles 进行过滤,然后 charles 在把最终的数据发送给服务器;

    注意:此时 charles 发给服务器的数据,不一定是客户端请求的数据;charles 在接到客户端的请求时可以自由的修改数据,甚至可以直接 Block 客户端发的请求;

    服务器接收请求后的返回数据,也会先到 charles,经过 charles 过滤后再发给客户端;

    同理:客户端接收的数据,不一定就是服务器返回的数据,而是 charles 给的数据;

    正因为上面的原理,所以 charles 能实现的功能,对前端开发者来说非常有吸引力,相当于请求和响应都可控的,而且 charles 为了控制更加方面,提供很多简洁的操作;

     

    二、Charles 做这些事情

    • 抓取 Http 和 Https 的请求和响应,抓包是最常用的了。
    • 重发网络请求,方便后端调试,复杂和特殊情况下的一件重发还是非常爽的(捕获的记录,直接 repeat 就可以了,如果想修改还可以修改)。
    • 修改网络请求参数(客户端向服务器发送的时候,可以修改后再转发出去)。
    • 网络请求的截获和动态修改。
    • 支持模拟慢速网络,主要是模仿手机上的 2G/3G/4G 的访问流程。
    • 支持本地映射和远程映射,比如你可以把线上资源映射到本地某个文件夹下,这样可以方面的处理一些特殊情况下的 bug 和线上调试(网络的 css,js 等资源用的是本地代码,这些你可以本地随便修改,数据之类的都是线上的环境,方面在线调试);
    • 可以抓手机端访问的资源(如果是配置 HOST 的环境,手机可以借用 host 配置进入测试环境)

    以上内容来自:https://www.axihe.com/tools/charles/charles/tutorial.html

  • 相关阅读:
    静态方法中访问类的实例成员
    静态初始化块
    Java字段初始化的规律
    java中函数重载
    哈姆雷特观后感 一把辛酸泪
    枚举
    验证码
    四则运算
    JAVA输出中+号的作用以及如何使用
    dev控件ASPxComboBox设置ReadOnly="true"后
  • 原文地址:https://www.cnblogs.com/lovezbs/p/14194752.html
Copyright © 2011-2022 走看看