首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Java获取本机IP

服务器或PC一般都拥有多个网卡,每个网卡拥有一个IP地址,但并不是所有的IP地址能被外部或局域网访问,比如说虚拟机网卡地址等等。...也就是说InetAddress.getLocalHost().getHostAddress()的IP不一定是正确的IP。本文介绍两种方式,可以在绝对部分场景下获取到想要的IP地址。...通过过滤获取IP地址 过滤回环网卡、点对点网卡、非活动网卡、虚拟网卡并要求网卡名字是eth或ens开头;再过滤回环地址,并要求是内网地址(非外网) public static List<Inet4Address...获取本机IP地址 Getting the IP address of the current machine using Java How to get Server IP Address and Hostname...in Java What does InetAddress.isSiteLocalAddress() actually mean?

7.1K31

获取云服务器外网IP本地电脑出口IP

注意:有代理的情况下,不同方式获取IP可能不同 比如我这台北京办公电脑,有不同的海外代理IP powershell里,一直获取到海外出口代理IP而不是我北京运营商IP 浏览器里,whatismyipaddress.com...cip.cc 或 www.ipplus360.com 【通过公网浏览器获取机器外网IP】 查询本机的上网出口IP 1)代理出口IP查询地址:www.ip138.com 或 www.ipshudi.com...或 ipchaxun.com 或 cip.cc 或 www.ipplus360.com 2)访问海外出口IP查询地址: whatismyipaddress.com 【通过powershell获取机器外网...ip.gs curl cip.cc 【通过linux curl获取公网IP归属地】 curl cip.cc/后面跟公网IP,这种显示结果是中文 curl ipinfo.io/后面跟公网IP,这种显示结果是英文...curl ipinfo.io/115.159.148.149 curl ipinfo.io/47.102.104.60 curl ipinfo.io/119.45.62.115 【通过腾讯云服务器内网获取

3.1K21

Java 实战系列·获取请求 IP 地址

获取请求 IP 地址 在 Spring 中,获取客户端真实 IP 地址的方法是 request.getRemoteAddr(),这种方法在大部分情况下都是有效的,但是在通过了 Squid 等反向代理软件就无法工作...下面是一种在 Java 服务器中获取请求 ip 的常见方式: package com.titan.toolcenter.utils; import javax.servlet.http.HttpServletRequest...; import java.net.InetAddress; import java.net.UnknownHostException; /** * @author Nicestar * @date...这些请求头不是代理服务器一定会带上的,网络上的很多匿名代理就没有这些请求头,所以获取到的客户端 ip 不一定是真实的客户端 ip。代理服务器一般都可以自定义请求头设置。...如果一些对客户端校验较严格的应用(比如投票)要获取客户端 ip,应该直接使用 request.getRemoteAddr(),虽然获取到的可能是代理的 ip 而不是客户端的 ip,但这个获取到的 ip

8.2K10

Java获取HttpServletRequest真实的调用ip

有时候我们需要获取Http请求的源IP,但由于有着各种代理,与反向代理,还有代理请求头标准的缺失,导致我们想拿到真正的ip变得更加困难。这篇文章来总结下一个目前可行的比较全面的通用方法。...获取IP 可能的Header(HTTP Header不区分大小写): x-forwarded-for:这个是通用的代理Header,一般是逗号分割的多个ip,第一个一般是真实ip x-real-ip:.../** * 获取真实ip * * @param request HttpServletRequest * @param acceptInnerIp 是否可以返回内网ip * @return...// 多次反向代理后会有多个ip值,第一个ip才是真实ip if (ip.indexOf(",") !...ip = request.getHeader("X-Real-IP"); if (isIpValid(ip)) { return ip; } ip = request.getRemoteAddr

2.1K20

Linux下编程获取本地IP地址的常见方法

方法一:ioctl()获取本地IP地址 Linux 下 可以使用ioctl()函数以及结构体 struct ifreq和结构体struct ifconf来获取网络接口的各种信息。...IP地址 如果建立TCP连接的情况下,可以通过getsockname和getpeername函数来获取本地和对端的IP和端口号。...(peeraddr.sin_port)<<endl; return 1; } } ---- 下面两种方法,都是通过主机名称来获取主机的IP地址,在获取本地IP地址时,一般都是回环地址,但可以有效的根据主机名称获取网络中的主机的...方法三:getaddrinfo()获取本地IP地址 注意,getaddrinfo()可以完成网络主机中主机名和服务名到地址的映射,但是一般不能用来获取本地IP地址,当它用来获取本地IP地址时,返回的一般是...但是要想获取本地IP地址的时候,一般获取的是回环地址127.0.0.1。

7.6K20
领券