如题,Flutter中的抓包跟普通的app抓包有点不太一样,抓不到。。。
Flutter无法抓包的问题根源:
Flutter 应用的网络请求是不走手机的系统代理的,也就是说你在系统设置中设置了代理地址和端口号后 Flutter 也不会走你的代理,而抓接口是必须要设置代理的。
其实有很多网友给出了抓包的设置和方法,基本上都是配置互联网共享的方式和修改代码的方式。我这里就着重说下代码修改的方式。
这里是我参考的资料:
https://blog.youkuaiyun.com/haha223545/article/details/91541452
https://zhuanlan.zhihu.com/p/26182135
https://juejin.cn/post/6844903733478817800
https://github.com/flutterchina/dio/issues/158
我的总结和方法:
1、手动添加手机的代理;
2、在网络库里面修改代码:
final Dio _dio = Dio();
/// 设置代理uri
void addProxyUri({String proxyIP, String proxyPort = "8888"}) {
(_dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (client) {
client.badCertificateCallback = (X509Certificate cert, String host, int port) => true;
client.findProxy &