flutter开发实战-Charles抓包设置
在开发过程中抓包,可以看到请求参数等数据,方便分析问题。flutter上使用Charles抓包设置。dio需要设置网络代理。
一、dio设置网络代理
在调试模式下需要抓包调试,所以需要使用代理,并且仅用Https证书校验。
// 配置代理
Future<void> configProxy() async {// 注意,assert的代码在打包时不会打包到二进制包中,而常数识别,debug代码虽然不会执行,但会打进二进制包中,增大包的体积if (kReleaseMode) {//release} else {// debug在有这个配置// 添加这部分代码var dio = Dio();// 在调试模式下需要抓包调试,所以我们使用代理,并禁用HTTPS证书校验(dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (client) {client.findProxy = (url) {return 'PROXY 172.16.0.99:8888'; //这里将localhost设置为自己电脑的IP,其他不变,注意上线的时候一定记得把代理去掉};//代理工具会提供一个抓包的自签名证书,会通不过证书校验,所以我们禁用证书校验client.badCertificateCallback =(X509Certificate cert, String host, int port) => true;};}
}
二、使用Charles进行抓包
通过Charles抓包,配上对应的IP地址及端口。在同一网段即可查看到抓包接口了。
三、小结
flutter开发实战-Charles抓包设置
学习记录,每天不停进步。