好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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

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);

}

希望本文所述对大家C#程序设计有所帮助。

dy("nrwz");

查看更多关于C#编程获取IP地址的方法示例的详细内容...

  阅读:44次