C#获取本机局域网ip和公网ip

1。获取局域网ip

IPAddress ipAddr = Dns.Resolve(Dns.GetHostName()).AddressList[0];//获得当前IP地址
string ip=ipAddr.ToString() ;

2。获取公网ip

private static string GetIP()
{
    string tempip = "";
    try
    {
        WebRequest wr = WebRequest.Create("http://www.ip138.com/ips138.asp");
        Stream s = wr.GetResponse().GetResponseStream();
        StreamReader sr = new StreamReader(s, Encoding.Default);
        string all = sr.ReadToEnd(); //读取网站的数据

        int start = all.IndexOf("您的IP地址是:[") + 9;
        int end = all.IndexOf("]", start);
        tempip = all.Substring(start, end - start);
        sr.Close();
        s.Close();
    }
    catch
    {
    }
    return tempip;
}

3.如果是ADSL上网,获取公网ip

string tempIP =string.Empty;if (System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.Length >1)     tempIP = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList[1].ToString();

最搞笑的搞笑图片、段子网站 喔尼玛 http://www.wonima.com
时间: 2024-11-09 00:44:42

C#获取本机局域网ip和公网ip的相关文章

如何判断本地路由器IP是否公网IP?

如何判断本地(路由器)分配的IP是否公网IP? 公网IP:全球唯一IP地址. 有这么一种情况:拉的联通的带宽,分配的IP只能在联通内部访问,移动网络不能访问.这个IP最多只能算是"联通内的公网IP",不是真的公网IP. 有多种方法都可以判断本地(路由)IP是否公网IP,以下一一罗列以供小伙伴们参考. 一,经验法: 1,一般电信adsl带宽在未升级大带宽前是(动态)公网IP.如果花费很少的钱给你升级为100M光纤上网,99.99%是内网IP,那0.01%是我还没有发现过案例. 2,代理网

C#获取本机内网外网IP

using System.Net; # region 获取内.外网Ip /// <summary> /// 获取本地ip地址,优先取内网ip /// </summary> public static String GetLocalIp() { String[] Ips = GetLocalIpAddress(); foreach (String ip in Ips) if (ip.StartsWith("10.80.")) return ip; foreach

Qt之获取本机网络信息(MAC, IP等等,很全)

经常使用命令行来查看一些计算机的配置信息. 1.首先按住键盘上的“开始键+R键”,然后在弹出的对话框中输入“CMD”,回车 另外,还可以依次点击 开始>所有程序>附件>命令提示符 2.接下来在弹出的命令提示符窗口中输入“ipconfig /all”并按键盘上的回车,(注:ipconfig 命令为查看IP配置信息,参数“all”表示查看所有网卡的全部配置信息) 如下图所示: 那么,在Qt中如何获取主机名.IP.端口.MAC等信息? 主要使用到的类有: QHostInfo QHostAddr

域名查询IP及公网IP地址地理位置查询

#!/bin/bash printf "本脚本包含ip地理位置查询及已知域名查询IP \n" printf "###################################### \n" printf "/tmp/dns.txt 需要查询的域名列表目录 \n" printf "/tmp/dns_ip.txt 存放查询后的域名及IP对应目录 \n" printf "#######################

python获取本机局域网IP地址(适用于Windows、Linux、Mac)

1 import socket 2 import platform 4 5 def getip(): 6 try: 7 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 8 s.connect(('www.baidu.com', 0)) 9 ip = s.getsockname()[0] 10 except: 11 ip = "x.x.x.x" 12 finally: 13 s.close() 14 return ip 15 16

Java 如何获得本机IP 或者 公网IP

public static void main(String[] args) throws Exception {   //    URL url = new URL("http://www.ip138.com/ip2city.asp");   URLConnection conn = url.openConnection();   conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U

Java 判断IP地址为内网IP还是公网IP

tcp/ip协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8:10.0.0.0-10.255.255.255 172.16.0.0/12:172.16.0.0-172.31.255.255 192.168.0.0/16:192.168.0.0-192.168.255.255 那么,直接上代码吧: public static boolean internalIp(String ip) { byte[] addr = IPAddressUtil.textToNu

【C#】C#获取本地的内网(局域网)和外网(公网)IP地址的方法

1.获取本机的IP地址集合: 1 /// <summary> 2 /// 获取本机所有ip地址 3 /// </summary> 4 /// <param name="netType">"InterNetwork":ipv4地址,"InterNetworkV6":ipv6地址</param> 5 /// <returns>ip地址集合</returns> 6 public s

C#获取本机IP方法

1. 1 private void GetIP() 2 { 3 string hostName = Dns.GetHostName();//本机名 4 //System.Net.IPAddress[] addressList = Dns.GetHostByName(hostName).AddressList;//会警告GetHostByName()已过期,我运行时且只返回了一个IPv4的地址 5 System.Net.IPAddress[] addressList = Dns.GetHostAd