JAVA获取访问用户的客户端IP(适用于公网与局域网)

	/**
	 * 获取访问用户的客户端IP(适用于公网与局域网).
	 */
	public static final String getIpAddr(final HttpServletRequest request)
			throws Exception {
		if (request == null) {
			throw (new Exception("getIpAddr method HttpServletRequest Object is null"));
		}
		String ipString = request.getHeader("x-forwarded-for");
		if (StringUtils.isBlank(ipString) || "unknown".equalsIgnoreCase(ipString)) {
			ipString = request.getHeader("Proxy-Client-IP");
		}
		if (StringUtils.isBlank(ipString) || "unknown".equalsIgnoreCase(ipString)) {
			ipString = request.getHeader("WL-Proxy-Client-IP");
		}
		if (StringUtils.isBlank(ipString) || "unknown".equalsIgnoreCase(ipString)) {
			ipString = request.getRemoteAddr();
		}

		// 多个路由时,取第一个非unknown的ip
		final String[] arr = ipString.split(",");
		for (final String str : arr) {
			if (!"unknown".equalsIgnoreCase(str)) {
				ipString = str;
				break;
			}
		}

		return ipString;
	}

JAVA获取访问用户的客户端IP(适用于公网与局域网)

时间: 2024-11-05 22:55:40

JAVA获取访问用户的客户端IP(适用于公网与局域网)的相关文章

获取访问用户的客户端IP(适用于公网与局域网).

/**   * 获取访问用户的客户端IP(适用于公网与局域网).   */   public final String getIpAddr(final HttpServletRequest request)           throws Exception {       if (request == null) {           throw (new Exception("getIpAddr method HttpServletRequest Object is null"

java获取本机名称、IP、MAC地址和网卡名称

java获取本机名称.IP.MAC地址和网卡名称 摘自:https://blog.csdn.net/Dai_Haijiao/article/details/80364370 2018年05月18日 14:53:19 阅读数:134 import java.net.InetAddress; import java.net.NetworkInterface; public class IpConfig { @SuppressWarnings("static-access") public

使用nginx反向代理时,如何正确获取到用户的真实ip

在记录日志的的时候,获取用户的信息,比如用户的ip,浏览器等等信息是十分重要的. 但是在使用nginx反向代理的时候,可能经过转发无法获取到用户的真实的ip, 在此情况下需要配置nginx,让其在转发的时候在header 带上用户的真实的ip. 举个例子: server { listen 80; server_name xxx.lenny.net; root D:\soft\nginx-1.11.4\html; index index.php index.html index.htm; add_

获取网站用户登录的IP地址及地理信息

是网上搜的,很常见,今天突然要用的,所以记录下来备用 public class CheckIP { #region 获取浏览器版本号 /// <summary> /// 获取浏览器版本号 /// </summary> /// <returns></returns> public static string GetBrowser() { HttpBrowserCapabilities bc = HttpContext.Current.Request.Brows

java 获取的是本地的IP地址

1 public static void main(String[] args) { 2 try { 3 InetAddress address = InetAddress.getLocalHost();//获取的是本地的IP地址 //PC-20140317PXKX/192.168.0.121 4 String hostAddress = address.getHostAddress());//192.168.0.121 5 InetAddress address1 = InetAddress.

Asp.net MVC获取访问系统的客户端计算机的主机名和IP地址

string HostName = string.Empty; string ip = string.Empty; string ipv4 = String.Empty; if (!string.IsNullOrEmpty(System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"])) ip = Convert.ToString(System.Web.HttpContext.Current.Request.Ser

java获取登录用户ip地址

public class IPUtil { /** * 获取ip * @param request * @return */ public static String getIp(HttpServletRequest request) { if (request == null) return ""; String ip = request.getHeader("X-Requested-For"); if (StringUtil.isEmpty(ip) || &qu

如何通过httpclient获取访问域名的真实ip

需求:由于目标网站cdn节点很多需要获取到访问当次是哪个ip.1.实现接口HttpConnectionManager新加实现类A,直接复制SimpleHttpConnectionManager的类内容.2.A类增加方法public Socket getSocket() {return this.httpConnection.getSocket();}3.为httpClient指定HttpConnectionManager 方法为 httpClient 指定httpClient.setHttpCo

PHP获取访问用户机器码(物理地址)

经过网上查询找到一个经过验证可以使用的 <?php //获取用户电脑MAC地址并生成唯一机器识别码 class GetMacAddr { var $return_array = array(); // 返回带有MAC地址的字串数组 var $mac_addr; function GetMacAddr($os_type) { switch ( strtolower($os_type) ) { case "linux": $this->forLinux(); break; ca