.net core获取本地Ip地址的方法
笔记:
/// <summary> /// 获取本地Ip地址 /// </summary> /// <returns></returns> public string GetLocalIp() { var addressList = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList; var ip = addressList.FirstOrDefault(address => address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)?.ToString(); return ip; }
注意一下,上面的addressList参数包含了包含了IPv4和IPv6的地址信息,如果按照了虚拟机(如vmware等),启用了多个网络适配器,那么IPv4和IPv6可能会存在多个地址,具体需要哪个可自行判断。
比如更准确的做法:
/// <summary> /// 获取本地Ip地址 /// </summary> /// <returns></returns> public static string GetLocalIp() { var addressList = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList; var ips = addressList.Where(address => address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) .Select(address => address.ToString()).ToArray(); if (ips.Length == 1) { return ips.First(); } return ips.Where(address => !address.EndsWith(".1")).FirstOrDefault() ?? ips.FirstOrDefault(); }
一个专注于.NetCore的技术小白
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY