java 获取服务ip
时间: 2024-09-20 11:03:46 浏览: 29
在Java中获取服务的IP地址通常有两种方法:
1. **通过Socket连接**: 可以创建一个Socket对象,并尝试连接到指定的服务端口。在建立连接的过程中,Socket会自动获取目标服务器的IP地址。
```java
import java.net.InetAddress;
import java.net.Socket;
public class Main {
public static void main(String[] args) throws Exception {
String host = "example.com"; // 替换为你想要获取IP的服务名或域名
int port = 80; // 假设是HTTP服务的默认端口
Socket socket = new Socket();
try {
socket.connect(new InetSocketAddress(host, port), 5000); // 连接超时时间
InetAddress inetAddress = socket.getInetAddress();
System.out.println("Service IP address: " + inetAddress.getHostAddress());
} finally {
if (socket != null)
socket.close();
}
}
}
```
2. **通过DNS查询**: 如果你想直接从域名获取IP,可以使用`InetAddress.getByName()`方法,它会返回相应的IP地址。
```java
import java.net.InetAddress;
public class Main {
public static void main(String[] args) {
String host = "example.com";
try {
InetAddress ip = InetAddress.getByName(host);
System.out.println("Service IP address: " + ip.getHostAddress());
} catch (Exception e) {
System.err.println("Failed to get IP: " + e.getMessage());
}
}
}
```
阅读全文