【C#】C#获取本地的内网(局域网)和外网(公网)IP地址的方法
2021-05-30 10:18
标签:dash 虚拟网卡 coding str tty 网卡 returns etl red 如果本机在局域网内,直接调用上面的方法即可,以ipv4为例: 如果本机只有一个网卡,且没有安装虚拟网卡,那么ipv4_ips里应该只有一条数据,即局域网内地址; 如果本机只有一个网卡,且没有安装虚拟网卡,那么ipv4_ips里应该只有一条数据,即公网IP地址; 步骤:先获取到含有本机外网ip的页面信息,再通过正则获取到ip信息; 测试(测试时间:2019年6月18日17:37:46):
目前这几个url地址都可以用,但不保证长久稳定,如果想稳定可靠的使用,可以使用一些收费的API接口,比如:http://user.ip138.com/ip/ ———————————————————————————————————————— 【C#】C#获取本地的内网(局域网)和外网(公网)IP地址的方法 标签:dash 虚拟网卡 coding str tty 网卡 returns etl red 原文地址:https://www.cnblogs.com/willingtolove/p/11046564.html1、获取本机的IP地址集合:
1 ///
1 Liststring> ips= GetLocalIpAddress("");//获取本地所有ip
2 Liststring> ipv4_ips = GetLocalIpAddress("InterNetwork");//获取ipv4类型的ip
3 Liststring> ipv6_ips = GetLocalIpAddress("InterNetworkV6");//获取ipv6类型的ip
2、获取本机局域网内IP地址:
Liststring> ipv4_ips = GetLocalIpAddress("InterNetwork");
3、获取本机的公网IP地址:
1)、如果本机是拨号上网的或具有独立公网IP的情况下,使用上面的方法即可,以ipv4为例:
Liststring> ipv4_ips = GetLocalIpAddress("InterNetwork");
2)、如果是路由上网的,想获取网关的外网IP,只能通过访问一些公网的地址来获取外网IP了;
1 ///
1 var t0_html = HttpGetPageHtml("https://www.ip.cn", "utf-8");
2 var t1_html = HttpGetPageHtml("http://www.ip138.com/ips138.asp", "gbk");
3 var t2_html = HttpGetPageHtml("http://www.net.cn/static/customercare/yourip.asp", "gbk");
4 var t0_ip = GetIPFromHtml(t0_html);// 111.198.29.123
5 var t1_ip = GetIPFromHtml(t1_html);// 111.198.29.123
6 var t2_ip = GetIPFromHtml(t2_html);// 111.198.29.123
文章标题:【C#】C#获取本地的内网(局域网)和外网(公网)IP地址的方法
文章链接:http://soscw.com/index.php/essay/89523.html