Flutter 记录使用Getx框架,当手机需要使用Charles或者Fiddler抓包,无法抓取问题

项目场景:

Flutter 记录使用Getx框架,当手机需要使用Charles或者Fiddler抓包,无法抓取问题


问题描述

Flutter开发app需要可以抓包,首先要设置指定代理ip,Getx使用的是GetConnect网络请求方案,发现在度娘和Google都搜索不出具体的解决方案,最后在Getx的Github仓库找了别人提的issue,发现有这么一个配置是可以设置的:
在这里插入图片描述
然后我就这样配置:
在这里插入图片描述
但是配置后,抓包软件还是没有办法正常抓包

原因分析:

查看源码,也是提供可以配置的参数,然后debug后,发现设置的参数都无效,没有传入,然后我就怀疑是否是Getx的bug,或者本身Getx就不支持设置抓包,但是我直接修改源码后,发现抓包是有效的,所以应该是我设置的问题,或者是Getx参数获取的问题在这里插入图片描述

解决方案:

提示:这里填写该问题的具体解决方案:

直接把设置方法httpClient初始化之前就有效了,完美解决
在这里插入图片描述

### 使用 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 的每一个进出站消息。利用左侧列表筛选器可快速定位感兴趣的会话记录,并借助右侧详情面板深入探究报文结构、响应时间等重要指标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值