当前位置: 首页 > news >正文

flutter不能抓包

需要获取手机IP地址设置才能抓包,获取IP地址,需要跟原生通讯获取,

1:获取IP地址

安卓代码:

/*** 原生和flutter通讯交互*/
class MainActivity : FlutterActivity() {var methodChannel: MethodChannel? = nulloverride fun configureFlutterEngine(flutterEngine: FlutterEngine) {super.configureFlutterEngine(flutterEngine)methodChannel = MethodChannel(flutterEngine.dartExecutor.binaryMessenger, "channelName")methodChannel!!.setMethodCallHandler { call: MethodCall, result: MethodChannel.Result ->//判断方法名是否支持if (call.method == "getProxy") {result.success(getProxy())} else {//方法名暂不支持result.notImplemented()}}}/*** 获取代理*/private fun getProxy(): String {val proxyAddress = System.getProperty("http.proxyHost", "")val portStr = System.getProperty("http.proxyPort", "")return "$proxyAddress:$portStr"}
}

flutter代码:

getProxyUrl() async {const platform = MethodChannel("channelName");String result = await platform.invokeMethod("getProxy");debugPrint('----------result $result');return result;
}

2:设置IP

void _switchProxy(bool enable, String? proxy) {/// 设置代理仅在启动的时候生效,所以仅设置开启即可,无需设置关闭,默认就是不开启代理if (!enable) {return;}if (proxy == null || proxy.isEmpty || proxy == ":") {return;}//https证书校验(_dio?.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate =(client) {//非 debug 环境才配置代理debugPrint("DioManager setProxy enable:$enable proxy:$proxy");client.findProxy = (uri) {return "PROXY $proxy";};client.badCertificateCallback =(X509Certificate cert, String host, int port) {//全部通过return true;};_isProxyEnable = true;return null;};
}

//调用

String proxyUrl= await dioNetwork.getProxyUrl();
_switchProxy(kReleaseMode,proxyUrl );

http://www.lryc.cn/news/69423.html

相关文章:

  • 从桌面端到移动端,.NET MAUI为什么对WPF开发人员更简单?
  • [Python]... 和pass
  • 【信息安全案例】——软件解密技术(以OllyDbg为例)
  • 【华为OD机试真题2023B卷 JAVAJS】阿里巴巴找黄金宝箱(I)
  • 记录一次windows mysql5.7安装失败的过程
  • 前端知识复习一
  • 低代码赋能生物药企数字化
  • 【计算机视觉】最后显示的CIFAR-100数据集照片很模糊怎么解决?
  • OJ 系统未解决或者有疑问问题:
  • 《游戏编程模式》--优化模式--学习
  • 电脑照片怎么导入苹果手机?三个妙招帮你解决!
  • 换个花样玩C++(13)一文深度全面剖析类构造,析构,赋值运算和移动构造
  • 这是一篇使用ChatGPT生成的关于隐私计算的文章
  • Docker持久化固定容器IP
  • Filter和Interceptor和Aspect
  • maven 项目依赖加载不出来
  • Python collections模块
  • Qt-学习 QJson协议解析
  • Git的安装与连接
  • MySQL5.0完全卸载教程
  • rpm包编译工具rpmbuild使用介绍
  • vue3中使用cherry-markDown步骤
  • 数据建模方法论及实施步骤
  • AUTOSAR知识点 之 COM (一):基础知识
  • 自媒体品牌宣传策略注意哪些,是怎么种草的
  • 网络带宽管理
  • SpringCloud(27. Redis 和 ZK 分布式锁)
  • 运行时栈帧结构与方法调用
  • VSCode +gdb+gdbserver远程调试arm开发板
  • 阿里云大学考试python中级题目及解析-python高级