Charles 在 Flutter 开发中的应用

标签: 编程学习 Flutter学习

下载安装

下载地址:www.charlesproxy.com/download/

你懂的:www.zzzmode.com/mytools/charles/

注意:一定要先打开一次 Charles 做好初始化之后再使用第二个链接地址

配置(按照步骤操作即可)

  • 安装 mac 端证书

  • 端口配置

  • 代理设置

    • iOS版

    • 安卓版

    • 手机配置完毕之后,Charles 会提示是否允许,点击 Allow

      这里可能反应会慢,甚至有时候根本不会出现提示也可以重新连接网路试试

  • 安装移动端证书 在手机端浏览器访问: chls.pro/ssl

    • iOS版

    • 安卓版

在 Flutter 中支持

按照上面的配置正常情况下抓包是没问题了,但是 Flutter 中还不行, Flutter 应用的网络请求是不走手机的系统代理的,也就是说你在系统设置中设置了代理地址和端口号后 Flutter 也不会走你的代理,而抓接口是必须要设置代理的。

来看一下设置代理的方法

  • HttpClient 版

    HttpClient client = HttpClient();
    client.findProxy = (uri) {
        return Config.DEBUG ? 'PROXY 192.168.50.133:6666' : 'DIRECT';
    };
  • Dio 版
    (_dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (client) {
        client.findProxy = (uri) {
            return Config.DEBUG ? 'PROXY 192.168.50.133:6666' : 'DIRECT';
        };
    };

这样就OK了。