C#获取IP地址

来源:互联网 发布:韩国的历史书 知乎 编辑:程序博客网 时间:2024/04/30 08:16

1、获取客户端IP

/// <summary>/// 获取客户端Ip/// </summary>/// <returns></returns>public String GetClientIp(){    String clientIP = "";    if (System.Web.HttpContext.Current != null)    {        clientIP = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];        if (string.IsNullOrEmpty(clientIP) || (clientIP.ToLower() == "unknown"))        {            clientIP = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_REAL_IP"];            if (string.IsNullOrEmpty(clientIP))            {                clientIP = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];            }        }        else        {            clientIP = clientIP.Split(',')[0];        }    }    return clientIP;}

2、服务器端获取客户端请求IP和客户端机器名称

/// <summary>/// 服务器端获取客户端请求IP和客户端机器名称/// </summary>public static void GetClientInfo(){    OperationContext context = OperationContext.Current;    MessageProperties messageProperties = context.IncomingMessageProperties;    RemoteEndpointMessageProperty endpointProperty = messageProperties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;    HttpRequestMessageProperty requestProperty = messageProperties[HttpRequestMessageProperty.Name] as HttpRequestMessageProperty;    string clientIp = !string.IsNullOrEmpty(requestProperty.Headers["X-Real-IP"]) ? requestProperty.Headers["X-Real-IP"] : endpointProperty.Address;    string clientName = Environment.MachineName;    Console.WriteLine("ClientIp: " + clientIp + "clientName:" + clientName);}

0 0
原创粉丝点击