flutter dio 抓包
1、第一種
寫一個(gè)頁(yè)面,輸入ip地址和端口號(hào),傳給dio設(shè)置里
(_dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (HttpClient client) {
client.idleTimeout = const Duration(seconds: 5);
client.findProxy = (uri) {
return "PROXY ${ip地址}:${端口號(hào)}";
};
//代理工具會(huì)提供一個(gè)抓包的自簽名證書,會(huì)通不過(guò)證書校驗(yàn),所以我們禁用證書校驗(yàn)
client.badCertificateCallback = (X509Certificate cert, String host, int port) => true;
return null;
}
2、第二種
引入http_proxy: ^1.2.0第三方庫(kù),可獲取代理信息
HttpProxy proxy = await HttpProxy.createHttpProxy();
debugPrint("PROXY=${proxy.host}");
if (proxy.host != null) {
(_dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (HttpClient client) {
client.idleTimeout = const Duration(seconds: 5);
client.findProxy = (uri) {
return "PROXY ${proxy.host}:${proxy.port}";
};
//代理工具會(huì)提供一個(gè)抓包的自簽名證書,會(huì)通不過(guò)證書校驗(yàn),所以我們禁用證書校驗(yàn)
client.badCertificateCallback = (X509Certificate cert, String host, int port) => true;
return null;
};
}