java获取本机的外网IP地址(亲测有效)
获取本机的外网地址
如果下面正确,请留下您宝贵的赞
package untils;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.*;
import java.util.Enumeration;
import java.util.regex.Matcher;
import java.util.regex.Pattern;/*** @author CBeann* @create 2020-04-13 1:31*/
public class IPUntils {public static void main(String[] args) throws Exception {System.out.println(IPUntils.getInterIP1());System.out.println(IPUntils.getInterIP2());System.out.println(IPUntils.getOutIPV4());}public static String getInterIP1() throws Exception {return InetAddress.getLocalHost().getHostAddress();}public static String getInterIP2() throws SocketException {String localip = null;// 本地IP,如果没有配置外网IP则返回它String netip = null;// 外网IPEnumeration<NetworkInterface> netInterfaces;netInterfaces = NetworkInterface.getNetworkInterfaces();InetAddress ip = null;boolean finded = false;// 是否找到外网IPwhile (netInterfaces.hasMoreElements() && !finded) {NetworkInterface ni = netInterfaces.nextElement();Enumeration<InetAddress> address = ni.getInetAddresses();while (address.hasMoreElements()) {ip = address.nextElement();if (!ip.isSiteLocalAddress() && !ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":") == -1) {// 外网IPnetip = ip.getHostAddress();finded = true;break;} else if (ip.isSiteLocalAddress() && !ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":") == -1) {// 内网IPlocalip = ip.getHostAddress();}}}if (netip != null && !"".equals(netip)) {return netip;} else {return localip;}}public static String getOutIPV4() {String ip = "";String chinaz = "http://ip.chinaz.com";StringBuilder inputLine = new StringBuilder();String read = "";URL url = null;HttpURLConnection urlConnection = null;BufferedReader in = null;try {url = new URL(chinaz);urlConnection = (HttpURLConnection) url.openConnection();in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), "UTF-8"));while ((read = in.readLine()) != null) {inputLine.append(read + "\r\n");}} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {if (in != null) {try {in.close();} catch (IOException e) {e.printStackTrace();}}}Pattern p = Pattern.compile("\\<dd class\\=\"fz24\">(.*?)\\<\\/dd>");Matcher m = p.matcher(inputLine.toString());if (m.find()) {String ipstr = m.group(1);ip = ipstr;}return ip;}
}
java获取本机的外网IP地址(亲测有效)相关推荐
- Java 获取本机的外网 IP
原理 通过 HTTP 访问第三方获取 IP 的服务接口获取本机的外网 IP,例如: http://checkip.amazonaws.com/ https://ipv4.icanhazip.com/ ...
- 如何查看本机的外网IP地址
如何查看本机的外网IP地址 在百度中输入IP
- java获取本机的外网ip----最简便、易懂
IP/IPv6查询,服务器地址查询 - 站长工具 可以通过上面的网站进行手动查询本机的外网ip java代码 public class IPUntils {public static String g ...
- 要获取NAT之后的外网IP地址
windows下IP138.com Linux下: 确保能访问互联网,DNS解析正常的情况下执行 ifconfig.me是一个和ip138类似的神奇的网站~~~ $ curl ifconfig.me ...
- 如何从HttpServletRequest中获取外网IP地址
如何从HttpServletRequest中获取外网IP地址 Java 中可以通过HttpServletRequest类的getRemoteAddr(); //可能是用户真是ip也可能是代理服务器的i ...
- python获取公网ip的几种方式_python获取外网ip地址的方法总结
本文实例总结了python获取外网ip地址的方法.分享给大家供大家参考.具体如下: 一.利用脚本引擎库直接获取 import console; import web.script import ine ...
- Golang 获取当前外网IP/地址/运营商
Golang 获取当前外网IP/地址/运营商 - Go语言中文网 - Golang中文社区 package mainimport ("fmt""io/ioutil&quo ...
- 如何获取外网IP地址
1. 获取外网IP的方法: 获取外网IP地址方法: 访问网站:http://www.3322.org/dyndns/getip 访问网站:http://city.ip138.com/ip2city. ...
- 获取外网IP地址API
1.获取外网IP地址 地址: http://pv.sohu.com/cityjson?ie=utf-8 返回结果: var returnCitySN = {"cip": " ...
- bigemap如何切换外网IP地址
在使用地图下载器的过程中,由于访问的国外网络,所以网络的运行商(电信.移动.联通)会根据各地的情况封锁你要访问的国外地址,在封锁的过程因为不可能封锁所有的国外访问,所以只是屏蔽了你的IP地址,这时候我 ...
最新文章
- 高职扩招计算机应用课程,高职扩招带来的“新生”
- 获取AD里面指定OU或Container里面的计算机以及Lastlogon时间格式转换
- 【数据平台】Pytorch库初识
- Flex不支持SOAP1.2
- java遍历文件目录
- java生成动态验证码_动态生成验证码案例
- 这篇文章,专治MQ中间件各种疑难杂症
- java多张图片合成一张_一款国外有趣、简单、功能齐全的图片处理软件。
- Boltzmann 玻尔兹曼机(BM)
- Android应用开发环境搭建
- 九大内置对象和四大作用域
- 360浏览器极速模式和兼容模式
- 【渝粤题库】陕西师范大学202141规制经济学 作业(高起专)
- 解决方法:CC2640R2F从7x7改成5x5封装,主机连接失败
- 【C语言数据结构与算法的应用4】巨大数----加减乘运算(万进制和Mec补码的应用)
- 亚马逊国际站通过ASIN获取商品信息
- Oracle trace level
- animator动画
- 1293 夏洛克和他的girl friend(二分图、线性筛)
- java数学题_小学数学练习题用Java实现
热门文章
- 三、大数据时代下的SQL Server第三方负载均衡方案----Moebius测试
- 邮箱显示exchange账号服务器错误,Exchange服务器刚开始用就总是出错!
- windows7桌面计算机作用,win7系统虚拟桌面功能的详细教程
- python一个下载小说的简易爬虫
- 关于SEL的一些总结
- 2015小米暑期实习笔试题_风口的猪-中国牛市(dp)
- 云迁移实践:VMware虚拟机迁移到腾讯云
- 中山公园再添一座新地标,青岛首家丛林书吧“林荫阅读室”
- 恒玉佳壬二酸使用方法,15壬二酸能帮助祛痘吗
- 关于“socket:10106 无法加载或初始化请求的服务提供程序”问题的解决方法