zoukankan      html  css  js  c++  java
  • ASP.NET获取IP的6种方法

    服务端:

    //方法一

    HttpContext.Current.Request.UserHostAddress;

    //方法二

    HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

    //方法三

    string strHostName = System.Net.Dns.GetHostName();

    string clientIPAddress = System.Net.Dns.GetHostAddresses(strHostName).GetValue(0).ToString();

    //方法四(无视代理)

    HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

    客户端:

    //方法五

    var ip = '<!--#echo var="REMOTE_ADDR"-->';

    alert("Your IP address is "+ip);

    //方法六(无视代理)

    function GetLocalIPAddress()

    {

    var obj = null;

    var rslt = "";

    try

    {

    obj = new ActiveXObject("rcbdyctl.Setting");

    rslt = obj.GetIPAddress;

    obj = null;

    }

    catch(e)

    {

    //

    }

    return rslt;

    }

    来自印度的MCT Maulik Patel提供了一种服务端的解决方案,很好:

    if(Context.Request.ServerVariables["HTTP_VIA"]!=null) // using proxy

    {

    ip=Context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); // Return real client IP.

    }

    else// not using proxy or can't get the Client IP

    {

    ip=Context.Request.ServerVariables["REMOTE_ADDR"].ToString(); //While it can't get the Client IP, it will return proxy IP.

    }

    外加一种 最实用的:

     这个要using System.Net;

            /// <summary>
            /// 获取ip地址
            /// </summary>
            /// <returns></returns>
            private string GetIpAddress()
            {
                string ipAddress = "127.0.0.1";
                IPAddress[] ips = Dns.GetHostAddresses(Dns.GetHostName());
                foreach (IPAddress ip in ips)
                {
                    if (ip.AddressFamily.ToString().ToLower().Equals("internetwork"))
                    {
                        ipAddress = ip.ToString();
                        return ipAddress;
                    }
                }
    
                return ipAddress;
            }
    
  • 相关阅读:
    1234D.Distinct Characters Queries(树状数组)
    1217C.The Number of Good Substrings(思维)
    1217B.Zmei Gorynich(思维)
    1213D2.Equalizing by Division(hard version)(图论)
    CentOS7.5搭建Hadoop2.7.6完全分布式集群
    CentOS7.5搭建spark2.3.1集群
    CentOS7.5搭建Hive2.3.3
    【Java入门】JDK安装和环境变量配置(Win7版)
    python第三方库大全
    Python常用模块大全
  • 原文地址:https://www.cnblogs.com/yplong/p/4078120.html
Copyright © 2011-2022 走看看