ホームページ >バックエンド開発 >C#.Net チュートリアル >C#プログラミングでIPアドレスを取得する方法を詳しく紹介

C#プログラミングでIPアドレスを取得する方法を詳しく紹介

黄舟
黄舟オリジナル
2017-03-25 11:54:271953ブラウズ

この記事では主にC#プログラミングのIPアドレス取得方法と、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(&#39;,&#39;)[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#プログラミングでIPアドレスを取得する方法を詳しく紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。