java获得ip与请求地址

JAVA获取请求的IP及MAC地址 package com.hw.util.net; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.So... 阅读详情
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder
					.getRequestAttributes()).getRequest();
			String ip = RequestUtils.getIpAddr(request); 
			String url = RequestUtils.getLocation(request);

RequestUtils

import javax.servlet.http.HttpServletRequest;
import org.springframework.web.util.UrlPathHelper;

public static 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;
	}
	
	public static String getLocation(HttpServletRequest request) {
		UrlPathHelper helper = new UrlPathHelper();
		StringBuffer buff = request.getRequestURL();
		String uri = request.getRequestURI();
		String origUri = helper.getOriginatingRequestUri(request);
		buff.replace(buff.length() - uri.length(), buff.length(), origUri);
		String queryString = helper.getOriginatingQueryString(request);
		if (queryString != null) {
			buff.append("?").append(queryString);
		}
		return buff.toString();
	}

如果有多级代理的话(来源:https://www.cnblogs.com/kabi/p/5968849.html)

/** 
     * 获取当前网络ip 
     * @param request 
     * @return 
     */  
    public String getIpAddr(HttpServletRequest request){  
        String ipAddress = request.getHeader("x-forwarded-for");  
            if(ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {  
                ipAddress = request.getHeader("Proxy-Client-IP");  
            }  
            if(ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {  
                ipAddress = request.getHeader("WL-Proxy-Client-IP");  
            }  
            if(ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {  
                ipAddress = request.getRemoteAddr();  
                if(ipAddress.equals("127.0.0.1") || ipAddress.equals("0:0:0:0:0:0:0:1")){  
                    //根据网卡取本机配置的IP  
                    InetAddress inet=null;  
                    try {  
                        inet = InetAddress.getLocalHost();  
                    } catch (UnknownHostException e) {  
                        e.printStackTrace();  
                    }  
                    ipAddress= inet.getHostAddress();  
                }  
            }  
            //对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割  
            if(ipAddress!=null && ipAddress.length()>15){ //"***.***.***.***".length() = 15  
                if(ipAddress.indexOf(",")>0){  
                    ipAddress = ipAddress.substring(0,ipAddress.indexOf(","));  
                }  
            }  
            return ipAddress;   
    }  
java发送网络请求,获取淘宝IP地址库的ip信息,获取ip的地址等信息 新建一个类,此方法为get请求try { URL url = new URL("http://ip.taobao.com/service/getIpInfo.php?ip=119.75.217.109"); HttpURLConnection urlCon = (HttpURLConnection) url.openConnection(); urlCon.connect... 阅读详情

相关推荐

手机拍照也能玩高光谱?教你用TensorFlow Lite在Android上实现实时RGB转高光谱

本文介绍了如何利用TensorFlow Lite在Android设备上实现实时RGB到高光谱的图像重构技术。通过深度学习模型优化和移动端部署策略,使智能手机具备专业级光谱分析能力,适用于农业检测、化妆品分析等多个领域。

weixin_29091105的博客 243

java获取本机ip的方法

Java中有一个类叫 Application,可以用来获取本机 ip,也可以用来获取网络连接的信息,例如网络上有什么主机、需要访问本机的主机名等。动态 IP是指路由器根据一定的规则,动态分配 IP地址,当主机从一个路由器转发数据时,路由器将这个 IP地址保存在自己的内存中,并在下一个周期根据该 IP地址计算出下一个周期的 IP地址。4.将获取到的本机 ip地址和 test类绑定,如果需要访问外部的主机,那么需要使用动态 IP协议来访问,如果采用静态 IP协议,就可以获取到外部主机的 IP地址。

花生日记 2万+

保姆级教程:在Ubuntu 20.04上从零搞定ROS Noetic和RealSense驱动,为无人机开发铺路

本文提供了一份详细的Ubuntu 20.04环境下ROS Noetic和RealSense驱动安装指南,专为无人机开发环境搭建设计。从系统配置、ROS安装到RealSense驱动集成,涵盖所有关键步骤和常见问题解决方案,帮助开发者快速搭建自主空中机器人开发平台。

weixin_30329623的博客 65

java获取请求ip的方法

首先,我们需要定义一个函数,作为反射的对象。获取请求 ip的方法就介绍到这里,下面我们来看一下获取登录密码的方法: 第一步、同样是使用 servlet框架来编写小项目,在 servlet中通过 double类来获取请求 ip: 第二步、通过 javascript代码,从 URL中获取登陆密码的账号信息: 第三步、获取账号信息后,我们就要验证它的合法性,然后就可以使用 setnx方法进行登录了: 第四步、接着,我们就可以在 web服务器上输入用户名和密码来进行登陆操作了。下面我们就来介绍下怎么获取。

花生日记 9811

ABAP代码使用OAuth2.0 Client Credential调用外部API

ABAP-OAuth2.0-调用外部API

m0_74015269的博客 1951

苹果开发者账号( Apple Developer)登录出现:你的 Apple ID 暂时不符合使用此应用程序的条件(您的apple账户不符合资格)

Apple开发对于新手来说确实可能会遇到各种问题,在遇到 Apple Developer 账号登录问题时,除了检查账号的安全性设置和协议确认外,还需要考虑账号的具体配置问题,比如主邮箱的设置。

Winter_Sun灬的博客 4116

Java实现Ip地址获取

Java实现Ip地址获取

weixin_46822367的博客 6449

从零到一:DAMASK与ABAQUS联合仿真的环境配置艺术

本文详细介绍了在Ubuntu 16.04系统中配置DAMASK与ABAQUS2017联合仿真环境的完整流程,涵盖系统基础环境搭建、Python科学计算环境构建、DAMASK核心安装与配置,以及ABAQUS集成与联合调试。通过实战案例和高级调试技巧,帮助用户快速掌握有限元分析中的晶体塑性模拟技术。

weixin_29253711的博客 855

java获取真实的请求接口ip地址

在Java程序中获取请求的真实IP地址可以使用以下方法: 使用javax.servlet.http.HttpServletRequest类中的getRemoteAddr()方法,这个方法可以获取请求的IP地址。 可以检查X-Forwarded-For,如果请求是通过代理服务器发送的,那么X-Forwarded-For将包含被代理客户端的IP地址。可以使用HttpServletRequest类中...

weixin_42590539的博客 5777

告别商业软件?实测用gnina(CNN打分版)做分子对接:从安装到跑通第一个案例

本文详细介绍了基于卷积神经网络(CNN)的开源分子对接工具gnina的安装与实战应用。从环境配置、编译安装到运行第一个COVID-19主蛋白酶抑制剂对接案例,全面解析了这款替代商业软件的强大功能,特别适合预算有限的研究团队进行药物发现和虚拟筛选。

weixin_42522320的博客 255

浏览器解析HTML的过程及编程实现

需要注意的是,上述示例代码只是简化的演示,并未涵盖浏览器解析HTML的所有细节和复杂性。实际上,浏览器的HTML解析引擎还会处理一系列的特殊情况、错误容错和性能优化等方面的内容,以确保能够正确解析各种类型的HTML代码。HTML(超文本标记语言)是构建网页的基础语言,浏览器负责将HTML代码解析并渲染成可视化的网页。本文将详细介绍浏览器解析HTML的过程,并提供相应的编程示例代码。希望以上内容能帮助您理解浏览器解析HTML的过程,并通过提供的示例代码更好地了解如何在编程中实现这一过程。

ByteJolt的博客 321

Java 获取本机 IP 地址的方法

这种方法在复杂网络环境中能获取到多个符合条件的 IP 地址,可根据实际需求进一步筛选。上述代码首先获取所有网络接口,然后遍历每个接口下的 IP 地址,排除回环地址(isLoopbackAddress 判断)和。这种方法在大多数简单场景下可以正常工作,但如果主机有多个网络接口或者处于复杂的网络环境中,可能获取到的不是期望的。通过以上两种方法,可以在 Java 程序中获取本机的 IP 地址,开发人员可根据具体的应用场景选择合适的方法使用。一是最基本的获取本机 IP 地址的方式。

IpdataCloud的博客 7535

智能交通实战:基于YOLOv5/8/10的车辆违章行为检测系统(违停/压线/逆行识别)

在开始模型训练前,我们得明确要检测的违章行为,还要准备好对应的数据集,这就像做饭前要确定做什么菜、准备什么食材一样。通过本指南,你已经掌握了从技术选型(YOLOv5/8/10)数据准备模型训练到UI界面开发的全流程,搭建了一套完整的车辆违章行为检测系统。这个系统在实际应用中,能有效识别多种车辆违章行为,检测准确率高、速度快,可用于智能交通管理、停车场管理等多个场景。随着深度学习技术的不断进步,YOLO系列模型在车辆违章检测领域的应用会越来越广泛。

m0_71589036的博客 458

java如何获得内网ip、外网ip、以及如何根据ip查询地址

今天突发奇想地想要用java写一个小的工具类。 用来实现如何获得本机的内网ip,外网ip和根据ip获得相应的地址。 花了几个小时才弄清,然后整理了一下,希望有用。 首先要明白以下三种ip地址的区别: (1)127.0.0.1也就是localhost,这是本地ip地址,是只能用于本机访问本机的网络时使用的 (2)192.168.1.1 ~ 1...

ACGkaka的博客 4万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Java如何通过IP获得真实地址

今天接到个任务,客户想看到网站每天用户访问的地域分布,在网上大概查了下,没有比较适合的,仔细整理了下希望对你们有帮助。 一、获取访问IP这步很简单,但还是将代码贴出来吧,但是有一点需要注意,如果是nginx那种反向代理的,是获取不到客户端真实IP的,只能获取到nginx的代理IP,需要对nginx进行如下配置: location / { proxy_pass http://127.0.0.1:10678; proxy_set_header Host $host; proxy_set_header X-

qq_39486119的博客 12万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Http请求中获取请求的真实的IP地址

获取客户端IP一、标题网络上常见的请求头1、X-Forwarded-For2、Proxy-Client-IP3、WL- Proxy-Client-IP4、HTTP_CLIENT_IP5、X-Real-IP二、注意事项1、非标准请求头2、不一定存在3、多重代理顺序4、请求头伪造三、代码场景样例 一、标题网络上常见的请求头 1、X-Forwarded-For 这是一个 Squid 开发的字段,只有在通过了 HTTP 代理或者负载均衡服务器时才会添加该项。格式为X-Forwarded-For: client1,

迷尔柯 的博客 2万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

用request获取请求地址Ip

Java获取请求地址Ip public String getIpAddr(HttpServletRequest request) throws Exception { String ipAddress = null; String[] header = {"x-forwarded-for","Proxy-Client-IP","WL-Proxy-Client-IP"}; f...

菜鸟题巢 3825

用Java获得IP地址

      如何用Java获得一个域名的IP地址呢?提供这个功能的类叫做java.net.InetAddress。我们假设现在有这样一个域名,它用一个静态的getByName来重新获得一个InetAddress,然后得到可以读出的IP地址。下面的代码是非常基本的命令行。 import java.net.InetAddress; import java.net.UnknownHostExceptio

Java--Touching 1866

通过java解析域名获得IP地址

IP地址是Internet主机的作为路由寻址用的数字型标识,人不容易记忆。因而产生了域名(domain name)这一种字符型标识。DNS即为域名解析服务。在这里我们如果想通过java程序来解析域名获得真实IP的话,可以通过java的InetAddress类来实现。 import java.net.InetAddress; import java.net.UnknownHostExceptio...

sinat_35566306的博客 3476

Java根据请求的IP地址获取该请求的详细地址

Java根据请求的IP地址获取该请求的详细地址 在阿里云官网购买“全球IP归属地查询 - IP定位 - IP查询 - 支持高并发-毫秒级-免费”的服务。 购买完成后就可以在Java中开始编写代码调用服务了。首先创建地址类。 package com.example.demo.model; import com.alibaba.fastjson.annotation.JSONField; import lombok.Data; /** * * @Title: DetailedAddressPar

weixin_44380294的博客 575

Spring boot如何获得客户端ip地址以及根据主机名获得ip地址

这里写自定义目录标题1、获得访问controller端口的客户端ip地址2、获得访问endpoint端口的客户端ip地址3、根据服务器的主机名获得ip地址,并拼接成可以直接访问的链接 1、获得访问controller端口的客户端ip地址 import javax.servlet.http.HttpServletRequest; import org.springframework.web.context.request.RequestContextHolder; import org.springframe

u010062386的专栏 6683

Java ip地址查询,根据ip接口获得ip所在省市区,邮编,运营商等

互联网有很多接口可以实现通过ip查询到具体的位置,如下: 通过淘宝IP地址库获取IP位置 1. 请求接口(GET):http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串] 2. 响应信息:(json格式的)国家 、省(自治区或直辖市)、市(县)、运营商 3. 返回数据格式: {"code":0,"data":{"ip":"210.75...

宝贝企鹅的博客 5384

Java 通过HttpRequest获取请求用户真实IP地址

在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid,nginx等反向代理软件就不能获取到客户端的真实IP地址了。       如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为 http://www.javapeixun.com.cn

X-rapido的专栏 5万+

Java 通过Request请求获取IP地址

Java 通过Request请求获取IP地址项目需要将不同省份的用户,展示不同内容,所以需要通过Request请求获取IP地址。先来贴代码, 如果你要在生产环境使用就直接拿去用吧,我这边已经上线了。代码public class IpAdrressUtil { /** * 获取Ip地址 * @param request * @return */

大大的微笑的专栏 5万+

Java 获取请求主机IP地址

本文向您介绍使用Java获取IP地址的方法,在request.getRemoteAddr()方法在使用方向代理失效的情况下,本文的方法依然可以获取真实地址。在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。

carl_china的专栏 4747
上一篇: include 和jspinclude和iframe的区别
下一篇: chrome扩展- 天猫、淘宝、拼多多、1688 下单开发心得
钱晓九
博客等级 码龄11年 3粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值