通过Fiddler对Flutter应用程序进行Http/Http
2019-04-11 本文已影响19人
JX_Wei
前言
本文主要讲解如何使用Fiddler对Flutter应用进行抓包。Fiddler是一个很好用的抓包工具,可以实现将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。
话不多少,开始~
1.Fiddler下载安装及设置
Fiddler下载地址: https://www.telerik.com/download/fiddler
安装很简单,安装目录指定一下,直接下一步就可以,这里就不多废话了。
接下来是Fiddler抓包的设置:
Http/Https抓包的设置:
首先找到Tools > Fiddler Options > HTTPS打开,勾选如下图两项
image.pngTools > Fiddler Options > Connections,勾选下图选项
image.png
接下来在pc端浏览器和手机浏览器中输入 loaclhost:8888
,其中localhost
为本机ip, 8888
为Fiddler设置监听的端口,点击如下图所示下载证书,
找到下载完成的证书如下图所示,点击安装
image.png
2.Dio代理设置
这里使用的Dio作为的Flutter网络请求框架,代码中的代理配置也很简单,参考Dio代理设置文档https://github.com/flutterchina/dio/blob/master/example/proxy.dart
代码如下
var dio = new Dio();
//Fiddler抓包设置代理
(dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (client){
client.findProxy = (url){
return "PROXY loaclhost:8888";
};
//抓Https包设置
client.badCertificateCallback =
(X509Certificate cert, String host, int port) => true;
};
替换loaclhost
为本机ip 就可以愉快的抓包了。