很多情況下我們需要獲取外網的IP地址,一般用自帶的方法獲取到的都是不准確,往往獲取到的是內網的IP地址,所以需要採用外部網站介面來獲取。 代碼 通過訪問第三方介面來獲取真實的ip地址 ...
很多情況下我們需要獲取外網的IP地址,一般用自帶的方法獲取到的都是不准確,往往獲取到的是內網的IP地址,所以需要採用外部網站介面來獲取。
代碼
通過訪問第三方介面來獲取真實的ip地址
public static string GetIPAddress()
{
string ip = "";
try
{
WebClient MyWebClient = new WebClient();
MyWebClient.Credentials = CredentialCache.DefaultCredentials;//獲取或設置用於向Internet資源的請求進行身份驗證的網路憑據
Byte[] pageData = MyWebClient.DownloadData("http://www.net.cn/static/customercare/yourip.asp"); //從指定網站下載數據
string pageHtml = Encoding.Default.GetString(pageData); //如果獲取網站頁面採用的是GB2312,則使用這句
//string pageHtml = Encoding.UTF8.GetString(pageData); //如果獲取網站頁面採用的是UTF-8,則使用這句
string[] str = HtmlHelper.GetElementsByTagName(pageHtml, "h2");
string[] str1 = str[0].Replace("<h2>", "").Split(',');
ip = str1[0];
}
catch (WebException webEx)
{
webEx.Message.ToString()
}
return ip;
}