首页 > 代码库 > 获取各种IP地址
获取各种IP地址
最近做项目,犯了一个低级的错误,把获取客户端Ip当成获取本机IP了,被训的很厉害了,哎,是啊,怪自己太笨了,活该啊。
java 获取客户端真实IP地址的方法:
public String getIpAddr(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for"); if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("Proxy-Client-IP"); } if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("WL-Proxy-Client-IP"); } if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getRemoteAddr(); } return ip; }
java获取本机的IP和主机名
import java.net.InetAddress; import java.net.UnknownHostException; import java.util.Properties; import java.util.Set; public class TestSystemProperties { 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; } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。