C#编程获取IP地址的方法示例

作者:袖梨 2022-06-25

本文实例讲述了C#编程获取IP地址的方法。分享给大家供大家参考,具体如下:

1、获取客户端IP

 代码如下 复制代码

///

/// 获取客户端Ip

///

///

publicString 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];

    }

  }

  returnclientIP;

}

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

 代码如下 复制代码

///

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

///

publicstaticvoidGetClientInfo()

{

  OperationContext context = OperationContext.Current;

  MessageProperties messageProperties = context.IncomingMessageProperties;

  RemoteEndpointMessageProperty endpointProperty = messageProperties[RemoteEndpointMessageProperty.Name]asRemoteEndpointMessageProperty;

  HttpRequestMessageProperty requestProperty = messageProperties[HttpRequestMessageProperty.Name]asHttpRequestMessageProperty;

  stringclientIp = !string.IsNullOrEmpty(requestProperty.Headers["X-Real-IP"]) ? requestProperty.Headers["X-Real-IP"] : endpointProperty.Address;

  stringclientName = Environment.MachineName;

  Console.WriteLine("ClientIp: "+ clientIp +"clientName:"+ clientName);

}

相关文章

精彩推荐