折腾了一个小时,记录一下如何对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的时候一些小坑,跟大家一起分享一下,有不足之处,请大家多多指教!谢谢啦!!!