Fiddler 如何对Flutter 开发的app 项目进行http 抓包

折腾了一个小时,记录一下如何对flutter 进行抓包,话不多说了,直接进入正题吧!

前提条件:

        1.手机跟电脑必须在同一个局域网

        2.建议把电脑的防火墙关闭

一、电脑端配置

     1.通过cmd 获取当前ip地址

  2.设置Fiddler   "Tools-->Options"

 设置端口号,

 

 勾选证书

二、手机端配置

        1.在浏览器中输入  http://电脑端ip:8888  下载证书     

下载完后 安装   用途(WLAN)

2.选择wifi,长按或者点击 进入  启动代理  

      

填入电脑的ip地址 和设置的端口号(默认8888) 

   三、Flutter DIO 代理设置(这步至关重要)

        直接上代码吧!

 final bool isProxyCheck = true;
  final String proxy = "电脑ip:设置的端口";

   if (isProxyCheck) {
      print('启动代理');
      (dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate =
          (client) {
        client.badCertificateCallback =
            (X509Certificate cert, String host, int port) {
          return isProxyCheck && Platform.isAndroid;
        };
        client.findProxy = (url) {
          return 'PROXY $proxy';
        };
      };
    }

在实例化dio的时候,启动一下代理,我这里设置了一个开关  在开发的时候开启就好了 ,发布的时候尽量关掉!      以上是开发flutter的时候一些小坑,跟大家一起分享一下,有不足之处,请大家多多指教!谢谢啦!!!

### 使用 FiddlerFlutter 应用程序进行网络流量捕获和调试 #### 准备工作 为了成功使用 Fiddler 抓取 Flutter 应用的网络请求,需确保设备满足特定条件: - 安装有 Fiddler 的计算机与目标手机连接在同一局域网内[^1]。 #### 设置手机代理 使手机通过 Fiddler 发送数据前,必须配置手机网络代理指向运行 Fiddler 的机器。具体步骤取决于不同品牌型号的手机设置方式,通常涉及进入 Wi-Fi 配置页面手动指定 HTTP 代理服务器地址及端口(默认情况下,Fiddler 运行于8888端口)。完成此步后,来自该设备的所有HTTP(S) 请求都将被重定向至 Fiddler 处理。 #### HTTPS 流量解密 对于现代应用而言,大部分通信都采用加密形式传输即HTTPS协议。要在 Fiddler 中查看这些加密的数据流,则需要进一步的操作来让客户端信任由 Fiddler 自动生成的安全证书。这一步骤同样依赖具体的移动操作系统版本而有所不同;一般流程包括下载并安装 CA root certificate 到受信存储区中。 ```bash # 打开浏览器访问 http://localhost:8888/ # 下载 "FiddlerRoot.crt" # 将其导入到 Android 或 iOS 设备的信任凭证库 ``` #### 开始监控 一旦上述准备工作就绪,在 Fiddler 主界面即可实时观察到来自 Flutter App 的每一个进出站消息。利用左侧列表筛选器可快速定位感兴趣的会话记录,并借助右侧详情面板深入探究报文结构、响应时间等重要指标。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值