C#获取外网IP地址
写了个服务组件,如何获取本机电脑的外网ip地址(不是局域网的地址),求代码。
------解决方案--------------------借助于某个能够返回ip的第三方网站吧,如果自己有服务器自己写一个更好,向它发一个请求,解析返回的内容。单纯从本机去获取估计不行。
------解决方案--------------------//获取本机的公网IP
privatestaticstring GetIP()
{
string tempip ="";
try
{
WebRequest wr = WebRequest.Create("http://www.ip138.com/ip2city.asp");
Stream s = wr.GetResponse().GetResponseStream();
StreamReader sr =new StreamReader(s, Encoding.Default);
string all = sr.ReadToEnd(); //读取网站的数据
int start = all.IndexOf("[") +1;
int end = all.IndexOf("]", start);
tempip = all.Substring(start, end - start);
sr.Close();
s.Close();
}
catch
{
}
return tempip;
}
------解决方案--------------------public string readip()
{
HtmlDocument hd = webBrowser1.Document;
string stra = "";
for (int i = 0; i < hd.All.Count; i++)
{
if (hd.All[i].OuterText != null)
{
Match m = Regex.Match(hd.All[i].OuterText, @"[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}");
if (m.Success)
{
stra = m.ToString();
MessageBox.Show(m.ToString());
break;
}
}
&nbs