🗣 Wd提问: java获取ip地址的方法
🤖 Ai回答: 在 Java 中获取 IP 地址的方法主要依赖于 `java.net.InetAddress` 类。以下是常见的几种方法及使用示例:
1、获取本机 IP 地址(本地主机)
java
import java.net.InetAddress;
import java.net.UnknownHostException;
public class GetLocalIP {
public static void main(String[] args) throws UnknownHostException {
InetAddress localhost = InetAddress.getLocalHost();
System.out.println(本机IP地址: + localhost.getHostAddress());
}
}
输出示例:`192.168.1.5`(取决于你的网络环境)
说明:`InetAddress.getLocalHost()` 返回本机的 `InetAddress` 对象,`getHostAddress()` 转换为字符串形式。
2、通过 URL 获取远程 IP 地址
java
import java.net.URL;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class GetRemoteIP {
public static void main(String[] args) throws UnknownHostException {
URL url = new URL(https://65.hk);
InetAddress remoteAddr = url.getHost(); // 获取域名对应的IP地址
System.out.println(远程IP地址: + remoteAddr.getHostAddress());
}
}
注意:`url.getHost()` 返回的是域名(如 `65.hk`),需进一步通过 `InetAddress.getByName()` 获取实际 IP。
完整示例:
java
public static void main(String[] args) throws UnknownHostException {
String domain = www.65.hk;
InetAddress remoteAddr = InetAddress.getByName(domain);
System.out.println(远程IP地址: + remoteAddr.getHostAddress());
}
3、通过 Socket 获取 IP 地址
java
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Socket;
public class GetSocketIP {
public static void main(String[] args) {
try (Socket socket = new Socket()) {
socket.connect(new InetSocketAddress(www.65.hk, 80));
System.out.println(连接的IP地址: + socket.getLocalAddress().getHostAddress());
} catch (IOException e) {
e.printStackTrace();
}
}
}
说明:`socket.getLocalAddress()` 返回连接的本地 IP 地址。
4、处理 IPv6 地址
java
import java.net.InetAddress;
import java.net.UnknownHostException;
public class GetIPv6Address {
public static void main(String[] args) throws UnknownHostException {
InetAddress ipv6 = InetAddress.getByName(2001:db8::1);
System.out.println(IPv6 地址: + ipv6.getHostAddress());
}
}
注意:IPv6 地址格式与 IPv4 不同,需明确指定域名或 IP 地址。
5、异常处理
java
try {
InetAddress addr = InetAddress.getByName(invalid-domain.com);
System.out.println(IP地址: + addr.getHostAddress());
} catch (UnknownHostException e) {
System.out.println(无法解析域名: + e.getMessage());
}
总结
| 方法 | 用途 | 特点 |
|
| `InetAddress.getLocalHost()` | 获取本机 IP | 无需参数 |
| `InetAddress.getByName()` | 获取域名对应的 IP | 需要域名 |
| `Socket.getLocalAddress()` | 获取连接的 IP | 适用于客户端 |
| `InetAddress.getByName(2001:db8::1)` | 获取 IPv6 地址 | 需要手动指定 IPv6 地址 |
注意事项
1、权限问题:部分场景(如企业防火墙)可能限制访问外部 IP,需检查网络策略。
2、IPv6 支持:Java 8 及以上版本支持 IPv6,但需确保网络环境支持。
3、安全性:避免直接暴露本机 IP 地址(如 `127.0.0.1` 或 `localhost`)。
根据具体需求选择合适的方法即可!
📣 商家广告:





0
IP地址: 97.185.127.81
搜索次数: 0
提问时间: 2025-11-10 00:59:23
🛒 域名购买:
8.hi.cn
zhong.red
wzhy.net
ww.fj.cn
liuwang.com.cn
3.bj.cn
qppp.com.cn
37.com.hk
afuncard.com
wy.gs
❓️ 热门提问:
机柜台板
wordpress建站主机
.me域名查询
c++ web 服务器
搜索引擎关键词替换动态
172段ip地址是什么类
独享ip怎么弄
综合布线机房建设工程施工
vps线路远程桌面连接故障技术支持电话咨询
机柜式配电箱
豌豆Ai站群搜索引擎系统
🌐 域名评估:
deepseek.social
ll.mo.cn
vivo.nx.cn
j.tw.cn
eurobs.cn
utuj.cn
musk.mba
31.gs
vtvv.cn
lpot.cn
⛏ 最新挖掘:
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜
🖌 热门作画:
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊:
🔗 友情链接:
Suchmaschinen in China
北京网站建设
ai提问
🧰 站长工具:
Ai工具 whois查询 搜索
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。