我正在创建soap消息,需要查找请求的客户端IP。 我一直在寻找一种方法来寻找客户端IP,但仍然无法找到。 你能告诉我在收到客户请求后如何找到客户端ip的步骤吗?
答案 0 :(得分:-1)
那么您希望能够从服务中查看使用Web服务的客户端的IP地址吗?
您可以创建一个这样的类来检查您的一些服务器变量,其中一些变量从HTTP标头中提取数据。我发现只需查看HTTP_X_FORWARDED_FOR和REMOTE_ADDR即可(例如在C#中):
public class IP
{
public static String UserHostAddress { get { return HttpContext.Current.Request.UserHostAddress; } }
public static String REMOTE_ADDR { get { return HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; } }
public static String HTTP_X_FORWARDED_FOR { get { return HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; } }
public static String HTTP_CLIENT_IP { get { return HttpContext.Current.Request.ServerVariables["HTTP_CLIENT_IP"]; } }
public static String HTTP_X_FORWARDED { get { return HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED"]; } }
public static String HTTP_X_CLUSTER_CLIENT_IP { get { return HttpContext.Current.Request.ServerVariables["HTTP_X_CLUSTER_CLIENT_IP"]; } }
public static String HTTP_FORWARDED_FOR { get { return HttpContext.Current.Request.ServerVariables["HTTP_FORWARDED_FOR"]; } }
public static String HTTP_FORWARDED { get { return HttpContext.Current.Request.ServerVariables["HTTP_FORWARDED"]; } }
public static String IP_ADDRESS
{
get
{
if (HTTP_X_FORWARDED_FOR != null)
{
return HTTP_X_FORWARDED_FOR;
}
return REMOTE_ADDR;
}
}
}