首页
学习
活动
专区
工具
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.2K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    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

    9.5K10

    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.3K20

    Java杂谈之获取客户端IP

    ---- 1、常规方式 获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。...但是在通过了Apache,Squid,nginx等反向代理软件就不能获取到客户端的真实IP地址了。.../** * 获取客户端的IP地址 * 注意本地测试访问项目地址时,浏览器请求不要用 localhost,请用本机IP;否则,取不到 IP * * @return String 真实IP...,则透过防火墙获取真实IP地址 String headerName = "x-forwarded-for"; String ip = request.getHeader(headerName...4、内外网 除了上面的简单获取IP之外,一般的公司还会进行内网外网判断,完整示例如下,此处代码参考网络 public class IpUtil { /** * 判断IP是否是内网地址

    4.5K41

    Java爬虫之匿名代理IP获取

    大联盟的各位兄弟姐妹,前辈后生们,大家好,很感谢大家对Java大联盟的关注和支持,继上次的Java爬虫初级入门获得大家的青睐后,时至今日,我又满怀欣喜地为大家奉上这第二篇,文本篇~~~~ 爬虫,AI...一直是近年来为之关注的焦点,Java以自己独有的严格的语言约束和庞大且成熟的各种框架,成为企业一度的选择,也成为当今码农必知必会的编程语言。...诚然,Java仍然更多地用在WEB开发上,所以学会初级Java爬虫,也是在Java的技能道路上,多看了一处别样的风景。 环境准备: 1. 一个你使用的很顺手的开发工具,(我用IDEA); 2....四、承接第二步,我们继续编写用于解析HTML文本的方法,在第二步中我们使用HttPClient发起了GET请求,这里,我们要使用Jsoup解析HTML文本,通过对根节点和子节点的解析,准确获取目标信息,...这样我们就拿到了IP地址; 一、 端口号的获取(难点) 端口号的获取让我纠结了许久,这也是这篇文章迟迟才出的原因,如果你有更好的办法请不吝赐教。

    1K30

    Java 中是如何获取 IP 属地的

    细心的小伙伴可能会发现,抖音新上线了 IP 属地的功能,小伙伴在发表动态、发表评论以及聊天的时候,都会显示自己的 IP 属地信息 下面,我就来讲讲,Java 中是如何获取 IP 属地的,主要分为以下几步...通过 HttpServletRequest 对象,获取用户的 IP 地址 通过 IP 地址,获取对应的省份、城市 首先需要写一个 IP 获取的工具类,因为每一次用户的 Request ...在我们获取到用户的 IP 地址后,那么就可以获取对应的 ip 信息了 我在 Github 冲浪的时候,发现了 Ip2region 项目。...一个准确率 99.9% 的离线 IP 地址定位库,0.0x 毫秒级查询,ip2region.db 数据库只有数 MB,提供了 java,php,c,python,nodejs,golang,c# 等查询绑定和...所以我们还需要对这个方法进行一下封装,得到获取 IP 属地的信息。

    2.7K20

    Java爬虫之匿名代理IP获取

    大联盟的各位兄弟姐妹,前辈后生们,大家好,很感谢大家对Java大联盟的关注和支持,继上次的Java爬虫初级入门获得大家的青睐后,时至今日,我又满怀欣喜地为大家奉上这第二篇,文本篇~~~~ 爬虫,AI...一直是近年来为之关注的焦点,Java以自己独有的严格的语言约束和庞大且成熟的各种框架,成为企业一度的选择,也成为当今码农必知必会的编程语言。...诚然,Java仍然更多地用在WEB开发上,所以学会初级Java爬虫,也是在Java的技能道路上,多看了一处别样的风景。 环境准备: 1. 一个你使用的很顺手的开发工具,(我用IDEA); 2....四、承接第二步,我们继续编写用于解析HTML文本的方法,在第二步中我们使用HttPClient发起了GET请求,这里,我们要使用Jsoup解析HTML文本,通过对根节点和子节点的解析,准确获取目标信息,...这样我们就拿到了IP地址; 一、 端口号的获取(难点) 端口号的获取让我纠结了许久,这也是这篇文章迟迟才出的原因,如果你有更好的办法请不吝赐教。

    1.3K30

    Java 实战系列·Netty 获取客户端 IP

    Netty 获取客户端 IP 近期在后端摸鱼无聊,索性找个练手的项目,最终决定摸一个基于 netty 实现的 WEB IM(在线聊天项目)。...其中一个大坑就是获取 IM 中当前在线用户连接的 IP,这个看起来简单的功能咱着实折腾了好久。 Sping 中获取客户端 IP 很简单,前面咱也写文章介绍过 Spring 获取请求 IP 地址。...不过从 netty 中获取远端连接的 IP 着实让咱有点小捉急,虽然 netty 官方原生提供了获取客户端 IP 的方法,但是如果服务器使用了 nginx 代理转发的话,原生提供的方法获取的却是服务器...Google 查阅了不少资料,很多文章都是使用官方默认 IP 获取方式,与咱情况不符,很好奇他们真是这么用的嘛,不使用 nginx 反代???喵喵喵???...获取 IP 首先新增 IP 处理 handler,之前就是因为 handler 顺序搞错了,食用姿势不对,折腾了很久。

    4.7K20

    170709-Java实现获取本机Ip工具类

    180709-Java实现获取本机Ip的工具类 获取本机Ip算是比较常见的一个需求场景了,比如业务报警,可能就会带上出问题的机器IP,方便直接上去看日志定位问题,那么问题来了,如何获取机器IP呢?...基本方法 如何获取机器Ip?...当然没问题,拿我本机和阿里服务器执行一下,并没有问题如实的输出了预期的IP 本机执行后截图如下: 阿里云机器执行后截图如下: 再问一句,那是否就真的没有问题了呢?...进阶版 做一点简单的改动,获取IpV4的地址,源码如下 /** * 直接根据第一个网卡地址作为其内网ipv4地址,避免返回 127.0.0.1 * * @return */ public static...完整工具类 import java.net.*; import java.util.Enumeration; public class IpUtil { public static final

    1.1K10
    领券