2011-04-07 130 views
8

我试图从httpheader获取请求的IP地址。如果价值是x做某事,如果不做别的。谁能帮我吗?来自httpheader的请求的IP地址

+0

可能的[[#1907195]](http://stackoverflow.com/questions/1907195/how-to-get-ip-address/) – drudge 2011-04-07 18:44:27

回答

6

您可能要look here。 HTTP标准没有将源地址定义为协议的一部分。 Infact HTTP根本不直接与IPv4/IPv6相关。

通常,网络服务器可以很容易地告诉套接字另一端的网络地址(网络浏览器所在的端点)。它不使用HTTP来执行此操作,而是使用操作系统网络堆栈的功能。

对于ASP.NET,您应该能够找到请求来自的IP地址。你可以试着看看System.Web.HttpRequest.UserHostAddress

12

请问this有帮助吗?它看起来很直截了当。

从链接中,有几种不同的方式:

HttpContext.Current.Request.UserHostAddress;

HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];