java IP地址工具类,java IP地址获取,java获取客户端IP地址
================================
©Copyright 蕃薯耀 2019年1月11日
http://fanshuyao.iteye.com/
import java.net.Inet4Address; import java.net.InetAddress; import java.net.NetworkInterface; import java.util.Enumeration; import javax.servlet.http.HttpServletRequest; public class IpUtils { private static final String[] HEADERS = { "X-Forwarded-For", "Proxy-Client-IP", "WL-Proxy-Client-IP", "HTTP_X_FORWARDED_FOR", "HTTP_X_FORWARDED", "HTTP_X_CLUSTER_CLIENT_IP", "HTTP_CLIENT_IP", "HTTP_FORWARDED_FOR", "HTTP_FORWARDED", "HTTP_VIA", "REMOTE_ADDR", "X-Real-IP" }; /** * 判断ip是否为空,空返回true * @param ip * @return */ public static boolean isEmptyIp(final String ip){ return (ip == null || ip.length() == 0 || ip.trim().equals("") || "unknown".equalsIgnoreCase(ip)); } /** * 判断ip是否不为空,不为空返回true * @param ip * @return */ public static boolean isNotEmptyIp(final String ip){ return !isEmptyIp(ip); } /*** * 获取客户端ip地址(可以穿透代理) * @param request HttpServletRequest * @return */ public static String getIpAddress(HttpServletRequest request) { String ip = ""; for (String header : HEADERS) { ip = request.getHeader(header); if(isNotEmptyIp(ip)) { break; } } if(isEmptyIp(ip)){ ip = request.getRemoteAddr(); } if(isNotEmptyIp(ip) && ip.contains(",")){ ip = ip.split(",")[0]; } if("0:0:0:0:0:0:0:1".equals(ip)){ ip = "127.0.0.1"; } return ip; } /** * 获取本机的局域网ip地址,兼容Linux * @return String * @throws Exception */ public String getLocalHostIP() throws Exception{ Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces(); String localHostAddress = ""; while(allNetInterfaces.hasMoreElements()){ NetworkInterface networkInterface = allNetInterfaces.nextElement(); Enumeration<InetAddress> address = networkInterface.getInetAddresses(); while(address.hasMoreElements()){ InetAddress inetAddress = address.nextElement(); if(inetAddress != null && inetAddress instanceof Inet4Address){ localHostAddress = inetAddress.getHostAddress(); } } } return localHostAddress; } }
================================
©Copyright 蕃薯耀 2019年1月11日
http://fanshuyao.iteye.com/
相关推荐
可以通过java获取客户端IPMAC主机名等信息。下载就能用,欢迎下载!
在IT行业中,尤其是在Web开发领域,获取客户端的IP地址是一项常见的任务。这有助于跟踪用户行为、提供地域针对性的服务,甚至进行安全防护。本篇文章将详细解释如何在Java环境下,通过Servlet和Reactive编程模型来...
通过该工具类可以获得请求的IP地址,适用于后台管理系统的信息统计。
获取客户端提交申请时的ip地址,例如用于微信支付的获取客户端ip,根据配置不不同,有可能ipv4或ipv6,当服务器在自己电脑上,做测试是,可以使用127.0.0.1替代localhost
利用淘宝IP地址库实现的利用IP获取用户所在地工具类
获取本地IP地址,获取本地Host名称,获取Linux下的IP地址,获取用户真实IP地址,get/post请求 相应的工具类
java获取IP地址的工具类,使用时传入HttpServletRequest request类型的参数即可。使用例子 public static void logPageError(HttpServletRequest request){IpUtils.getIpAddr(request))}
IpUtil工具类--通过request获取IP,通过IP获取地址(需要联网,调用淘宝的IP库)。使用场景:在网站开发记录用户增删改查日志的时候,往往需要记录操作人的IP地址,来准确的生成操作日志记录等
首先,我们需要了解在Java Web应用中获取客户端IP地址的基本方法。通常,在Servlet环境下,可以通过HttpServletRequest对象的getRemoteAddr()方法来获取。然而,在某些情况下,如通过反向代理服务器(如Nginx、...
在Java编程中,我们有时需要获取一个IP地址所对应的具体地理位置,例如省份、城市等信息。这通常需要借助特定的IP数据库,如“纯真IP数据库”(QQWry.Dat),它包含了大量IP地址及其地理位置的映射关系。本文将详细...
本案例中的"工具类-获取访问ip地址工具类,自用留存"是一个专门用于获取网络访问IP地址的Java工具类。这个工具类可能包含了一些方法,用于在不同的网络环境中准确地获取到客户端的IP地址,这对于网络应用的统计分析...
1. **InetAddress 类**:Java中的`InetAddress`类是处理IP地址的核心工具。它可以用于获取主机名、IP地址,以及进行IP地址的转换。通过`getByName()`方法,我们可以传入一个主机名或域名,它会返回对应的`...
在Java中,`java.net`包提供了处理IP地址的类,如InetAddress,它可以用于解析和表示IP地址。在IP地址管理器中,我们可能会用到InetAddress的getByName()方法来解析IP字符串,或者getHostAddress()方法来获取对象所...
java根据ip获取国家、地区名称,附带ip库 java根据ip获取国家、地区名称,附带ip库
在Web开发过程中,经常需要获取客户端的各种信息,例如操作系统类型、浏览器版本、IP地址等。这些信息对于进行用户行为分析、日志记录、安全验证等非常有用。Java作为一种广泛应用于服务器端开发的语言,提供了多种...
在IT领域,尤其是在网络编程和系统管理中,获取客户端的IP地址和MAC地址是常见的需求。IP地址是网络层的标识符,而MAC地址则是数据链路层的物理地址。以下是一些关于如何在Java环境下获取客户端IP和MAC地址的知识点...
### 在xinetd环境下如何获取客户端IP地址 在Linux系统中,`xinetd`(Internet Services Daemon)作为超级服务守护进程,负责监听各种网络请求并启动相应的服务处理这些请求。由于`xinetd`环境下的服务器程序通常...
该类提供了一系列的方法来获取和操作IP地址,是Java中处理IP地址的基础工具之一。 #### 三、获取单个IP地址 最简单的情况是从一个给定的域名获取其对应的单个IP地址。这可以通过调用`InetAddress.getByName()`方法...
通过IP地址查询所在省市,基于qqwry.dat(可通过百度下载最新qqwry.dat文件来更新)。 代码已经简化过,直接调用静态方法即可返回地区信息(传入IP为参数)。 使用时只需要把唯一工具类:IpLocationTool.java(无...