代码共享-获取内外网IP及物理网卡地址来源: 发布时间:星期一, 2008年10月27日 浏览:2次 评论:0
using System;
using System.IO; using System.Net; using System.Text; using System.Net.Sockets; using System.Text.RegularExpressions; using System.Management; class IP { static void Main(string[] args) { Console.WriteLine("*************longingzone.com*************"); Console.WriteLine("****************胡熙明制作***************"); Console.WriteLine("******联系:[email protected]******"); Console.WriteLine("**********Current IP addresses:**********"); System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;//获取本机内网IP Console.WriteLine("内网IP: " + addressList[0].ToString()); try { Uri uri = new Uri("http://www.ikaka.com/ip/index.asp");//查本机网络IP的网页 HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; req.ContentLength = 0; req.CookieContainer = new CookieContainer(); req.GetRequestStream().Write(new byte [0], 0, 0); HttpWebResponse res = (HttpWebResponse)(req.GetResponse()); StreamReader rs = new StreamReader(res.GetResponseStream(), Encoding.GetEncoding("GB18030")); string s = rs.ReadToEnd(); rs.Close(); req.Abort(); res.Close(); Match m = Regex.Match(s, @"IP:\[(?<IP>[0-9\.]*)\]"); if (m.Success) Console.WriteLine("公网IP: " + m.Groups["IP"].Value + ""); System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_NetworkAdapterConfiguration"); System.Management.ManagementObjectCollection moc = mc.GetInstances(); foreach(System.Management.ManagementObject mo in moc) { if((bool)mo["IPEnabled"] == true) Console.WriteLine("网卡地址:" + mo["MacAddress"].ToString()); } } catch { Console.WriteLine("无法获取公网IP,可能原因:无法连接网络"); } Console.Write("按回车键退出程序"); Console.Read(); } } 0
相关文章
读者评论
发表评论 |