我想获得ClientIPaddress但是当我打电话给Request.ServerVariables["HTTP_X_FORWARDED_FOR"]
我时总是得到NULL
.
检查后Servervariables
我注意到HTTP_X_FORWARDED_FOR
的列表中没有选项列表.
任何人都知道这是如何可能的以及如何解决?或者这个选项不在列表中并且我遗漏了一些东西是正常的.
提前致谢
Request.ServerVariables["HTTP_X_FORWARDED_FOR"]
如果请求是由代理转发的,则只有一个值.通常,您将通过使用获取客户端IP Request.ServerVariables["REMOTE_ADDR"]
.
小智 5
public string GetIPAddress()
{
System.Web.HttpContext context = System.Web.HttpContext.Current;
string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (!string.IsNullOrEmpty(ipAddress))
{
string[] addresses = ipAddress.Split(',');
if (addresses.Length != 0)
{
return addresses[0];
}
}
return context.Request.ServerVariables["REMOTE_ADDR"];
}
Run Code Online (Sandbox Code Playgroud)
这个方法可能对你有用。
归档时间: |
|
查看次数: |
20251 次 |
最近记录: |