c# winform任何获取本机上网的IP地址呢 我要外网的 不是局域网的
网上找了很久 不是获取局域网的就是已经不能用了的 请大家指点指点
外网的没办法在本地获取,必须连一个公网的服务器,让它获取再返回给你的客户端。一般来说,你可以用httpwebrequest去访问www.ip138.com,然后它会报告你ip的。
表示没理解起意思 是外网ip,还是局域网你本机ip,还是像网吧一样的主机ip
void GetAddressIP()
{
///获取本地的IP地址
string AddressIP = string.Empty;
foreach (IPAddress _IPAddress in Dns.GetHostEntry(Dns.GetHostName()).AddressList)
{
if (_IPAddress.AddressFamily.ToString() == "InterNetwork")
{
AddressIP = _IPAddress.ToString();
}
}
txtLocalIP.Text = AddressIP;
}
public string GetIPAdress(string address)
{
try
{
WebClient client = new WebClient();
client.Encoding = System.Text.Encoding.Default;
string response = client.DownloadString(address);
string myReg = "(2(5[0-5]{1}|[0-4]\\d{1})|[0-1]?\\d{1,2})(\\.(2(5[0-5]{1}|[0-4]\\d{1})|[0-1]?\\d{1,2})){3}";
Match mc = Regex.Match(response, myReg, RegexOptions.Singleline);
if (mc.Success)
{
response = mc.Groups[0].Value;
return response;
}
else
{
return "Can't get your Ip address!";
}
}
catch (Exception)
{
return "Can't get your Ip address!";
}
}