asp.net获取服务器信息
获取IP地址
服务端获取
//方法一
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"];
//方法五
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.
}
客户端获取
//方法六
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;
}
asp.net中对URL的一些操作
例如当前URI为:http://www.test.com/xxx/xxx?id=1
- 获取绝对URI的路径
System.Web.HttpContext.Current.Request.Url.AbsolutePath (/xxx/xxx)
- 获取绝对URI
System.Web.HttpContext.Current.Request.Url.AbsoluteUri (www.test.com/xxx/xxx) - 获取服务器的主机名或IP地址和端口号
System.Web.HttpContext.Current.Request.Url.Authority (www.test.com (127.0.0.1:80)) - 获取实例的主机部分:
System.Web.HttpContext.Current.Request.Url.Host (www.test.com) - 获取当前URI的除主机头的乘下部分:
Request.RawUrl (/xxx/xxx?id=1) - 得到当前URI的
?
号后面的部分(查询字符串)
Request.QueryString (id=1) - 得到当前URI在服务器上的原始路径 :
Request.PhysicalPath(d:\webproject/web) - 上次访问的URI:
Request.UrlReferrer(进入www.test.com页面之前的那个页面的URI)