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;
            }
    
  • 相关阅读:
    oracle 认证方式
    Oracle
    深入理解Java的接口和抽象类
    mongoDB的学习【小白的福音】
    对于vertical-align的学习
    flex的学习 flexBox的学习
    用伪类添加翘边阴影::before和::after
    icon小图标
    url 中的 ? 和 & 还有 # 的作用
    解决img的1px空白问题
  • 原文地址:https://www.cnblogs.com/yplong/p/4078120.html
Copyright © 2011-2022 走看看