ASP.NET获取IP的6种方法
生活随笔
收集整理的這篇文章主要介紹了
ASP.NET获取IP的6种方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
服務端:
?
?
//方法一HttpContext.Current.Request.UserHostAddress;?
//方法二
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
//方法三
string?strHostName?=?System.Net.Dns.GetHostName();
string?clientIPAddress?=?System.Net.Dns.GetHostAddresses(strHostName).GetValue(0).ToString();
//方法四(無視代理)
HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
?
客戶端:
?
?
//方法五var?ip?=?'<!--#echo?var="REMOTE_ADDR"-->';
alert("Your?IP?address?is?"+ip);
//方法六(無視代理)
function?GetLocalIPAddress()?
{?
????var?obj?=?null;?
????var?rslt?=?"";?
????try?
????{?
????????obj?=?new?ActiveXObject("rcbdyctl.Setting");?
????????rslt?=?obj.GetIPAddress;?
????????obj?=?null;?
????}?
????catch(e)?
????{?
????????//?
????}?
?????
????return?rslt;?
}?
?
22日添加:
?
來自印度的MCT Maulik Patel提供了一種服務端的解決方案,很好:
?
?
if(Context.Request.ServerVariables["HTTP_VIA"]!=null)?//?using?proxy{?
?????ip=Context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();??//?Return?real?client?IP.
}
else//?not?using?proxy?or?can't?get?the?Client?IP
{?
?????ip=Context.Request.ServerVariables["REMOTE_ADDR"].ToString();?//While?it?can't?get?the?Client?IP,?it?will?return?proxy?IP.
}
?
備注:
?
1. 有些代理是不會發給我們真實IP地址的
2. 有些客戶端會因為“header_access deny”的安全設置而不發給我們IP
?
轉載于:https://www.cnblogs.com/blodfox777/archive/2008/07/21/1247447.html
總結
以上是生活随笔為你收集整理的ASP.NET获取IP的6种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 80分~进来看看kz
- 下一篇: 减式还原