Charles对Flutter应用程序抓包

发布时间:2022-07-21浏览次数:0

支持注册ChatGPT Plus的OneKey虚拟卡
绑定Apple Pay、Google Pay、支付宝和微信支付进行日常消费

注册和了解更多 ->

silver

dio 代理配置

import 'package:dio/adapter.dart';
import 'package:dio/dio.dart';


// 代理抓包设置
    // 在调试模式下需要抓包调试,所以我们使用代理,并禁用HTTPS证书校验
    if (_isDebug) {
      (dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate =
          (client) {
        // config the http client
        client.findProxy = (uri) {
          //proxy all request to 192.168.2.199:8888
          return 'PROXY 192.168.2.199:8888';
        };
        client.badCertificateCallback = (X509Certificate cert, String host, int port) => true;
        // you can also create a new HttpClient to dio
        // return HttpClient();
      };
    }

Charles设置

工具栏 Proxy > Proxy Settings > Proxies 获取代理地址端口

Android Studio 的全局代理配置

 void checkForCharlesProxy(Dio dio) {
    const charlesIp =
    String.fromEnvironment('CHARLES_PROXY_IP', defaultValue: null);
    if (charlesIp == null) return;
    debugPrint('#CharlesProxyEnabled');
    (dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate =
        (client) {
      client.findProxy = (uri) => "PROXY $charlesIp:8888;";
      client.badCertificateCallback =
          (X509Certificate cert, String host, int port) => true;
    };
  }

debug 配置项 选择 Edit Configurations > Additional run args

// flutter run --dart-define=CHARLES_PROXY_IP=192.168.0.52

--dart-define=CHARLES_PROXY_IP=192.168.0.52
字节笔记本扫描二维码查看更多内容