背景: 使用Android studio 运行flutter项目,想要查看 网络请求数据 相关信息,参数,header, 返回的数据……
使用的是flutter 网络请求框架Dio ,结合mac Charles抓包工具,Charles配置就省略了
//需要导入的包
import 'dart:io';
import 'package:dio/dio.dart';
import 'package:dio/adapter.dart';
import 'package:flutter/foundation.dart';
//……写在网络请求方法里面
final Dio dio = Dio();
if (!kReleaseMode){
//设置代理 抓包用
(dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (HttpClient client) {
client.findProxy = (uri) {
return "PROXY localhost:8888";
};
};
}
//kReleaseMode = release模式,抓包只要在debug模式生效,方便查看
干货,追求直接复制可用
补充:一个 注意点 如果 把这个抓包方法 放置在 await dio.request()方法前面,必须把抓包工具打开才能进行正常的网络请求,如果 运行项目,抓包工具处于关闭,就会导致整个项目网络失败,无法连接网络的