前言:App 开发不像 web 可以很灵活的看到 api 请求参数,Flutter 呢 又是默认不走代理的,所以呢摸了下石头和大家分享下,
这里用到的 抓包工具是 :Charles,下载地址也顺带给你:
关于 android ios 手机的 具体设置 可以参考前面的文章: 设备设置问题
Flutter:
先安装这个库:
http_proxyhttps://pub.flutter-io.cn/packages/http_proxy
在 main.dart 中添加代码:
if (kDebugMode) { WidgetsFlutterBinding.ensureInitialized(); HttpProxy httpProxy = await HttpProxy.createHttpProxy(); HttpOverrides.global = httpProxy; }
Android:
xml 文件夹添加文件 network_security_config.xml
<network-security-config> <base-config cleartextTrafficPermitted="true"> <trust-anchors> <certificates src="system" overridePins="true" /> </trust-anchors> </base-config> <!--允许debug模式下,信任用户安装的证书。关键--> <debug-overrides> <trust-anchors> <certificates src="user"/> </trust-anchors> </debug-overrides> </network-security-config>
androidManifest.xml
android:networkSecurityConfig="@xml/network_security_config"配置完毕就能抓包了:(前提是你的证书都配置正确了)要不然会是乱码