获取IP地址

翻译 2015年11月20日 16:19:54

1、获取本机器的IP地址和端口号

public static void main(String [] args){  
        InetAddress netAddress = getInetAddress();  
        System.out.println("host ip:" + getHostIp(netAddress));  
        System.out.println("host name:" + getHostName(netAddress));  
        Properties properties = System.getProperties();  
        Set<String> set = properties.stringPropertyNames(); //获取java虚拟机和系统的信息。  
        for(String name : set){  
            System.out.println(name + ":" + properties.getProperty(name));  
        }  
    }  
  
    public static InetAddress getInetAddress(){  
  
        try{  
            return InetAddress.getLocalHost();  
        }catch(UnknownHostException e){  
            System.out.println("unknown host!");  
        }  
        return null;  
  
    }  
  
    public static String getHostIp(InetAddress netAddress){  
        if(null == netAddress){  
            return null;  
        }  
        String ip = netAddress.getHostAddress(); //get the ip address  
        return ip;  
    }  
  
    public static String getHostName(InetAddress netAddress){  
        if(null == netAddress){  
            return null;  
        }  
        String name = netAddress.getHostName(); //get the host address  
        return name;  
    }


2、获取访问者IP

/**
     * 获取访问者IP
     * <p/>
     * 在一般情况下使用Request.getRemoteAddr()即可,但是经过nginx等反向代理软件后,这个方法会失效。
     * <p/>
     * 本方法先从Header中获取X-Real-IP,如果不存在再从X-Forwarded-For获得第一个IP(用,分割),
     * 如果还不存在则调用Request .getRemoteAddr()。
     *
     * @param request
     * @return
     */
    public static String getIp(HttpServletRequest request) {
        String ip = request.getHeader("X-Real-IP");
        if (!StringUtils.isBlank(ip) && !"unknown".equalsIgnoreCase(ip)) {
            return ip;
        }
        ip = request.getHeader("X-Forwarded-For");
        if (!StringUtils.isBlank(ip) && !"unknown".equalsIgnoreCase(ip)) {
            // 多次反向代理后会有多个IP值,第一个为真实IP。
            int index = ip.indexOf(',');
            if (index != -1) {
                return ip.substring(0, index);
            } else {
                return ip;
            }
        } else {
            return request.getRemoteAddr();
        }
    }


获取本地IP地址

  • 2013年11月28日 11:01
  • 572B
  • 下载

C# 网络编程之通过ip地址获取地理位置(补充)

前面我写过一篇文章"C# 网络编程之获取本机名、ip地址、域名、物理位置"里面可以根据输入的网址根据其ip地址获取器物理位置,其中该部分主要代码是通过有道网提供的在线第三方接口实现动态获取它的数据.现...

获取自己ip地址和MAC

  • 2012年12月11日 22:01
  • 689KB
  • 下载

Windows下获取本机IP地址

  • 2012年08月02日 07:50
  • 17KB
  • 下载

nmap 端口扫描/arp/ping,获取ssh服务器的ip地址

nmap可以用来扫描端口,也可以用来发现主机:如果在局域网中你只知道某个设备的mac地址,需要找到对应的ip地址,可以通过 arp 或者 nmap 扫描来实现。arp -na //显示...

实现lwip的DHCP自动获取ip地址

上个星期,在LM3S系列移植的lwip上,实现了自动获取ip的功能。         实现过程是:1)在opt.h上使能#define LWIP_ARP 1和#define LWIP_DHCP ...
  • slj_win
  • slj_win
  • 2014年07月31日 14:25
  • 5771

asp.net 获取客户端ip和mac地址

  • 2012年12月10日 15:20
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:获取IP地址
举报原因:
原因补充:

(最多只允许输入30个字)