默认情况下,在Flutter中使用Dio进行网络请求时是不支持抓包的,所以如果要进行抓包,就需要对Dio进行请求封装,并编写代理代码。
我们可以直接在Dio里面设置ip以及端口,通过硬编码的方式进行代理,代码如下:
(dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate =
(client) {
//这一段是解决安卓https抓包的问题
client.badCertificateCallback =
(X509Certificate cert, String host, int port) {
return Platform.isAndroid;
};
client.findProxy = (uri) {
return "PROXY 192.168.3.15:8888";
};
};