springboot如何获取公网ip
时间: 2023-09-12 10:10:27 浏览: 221
获取公网的IP地址
Spring Boot可以通过以下方式获取公网IP:
1. 使用Java的InetAddress类获取公网IP地址,示例代码如下:
```java
InetAddress addr = InetAddress.getLocalHost();
String ip = addr.getHostAddress();
```
2. 使用第三方库获取公网IP地址,例如使用Apache HttpClient库发送GET请求到一个IP查询API,示例代码如下:
```java
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet("http://ip-api.com/json/");
try (CloseableHttpResponse response = httpClient.execute(httpGet)) {
HttpEntity entity = response.getEntity();
String jsonString = EntityUtils.toString(entity, StandardCharsets.UTF_8);
JSONObject json = new JSONObject(jsonString);
String ip = json.getString("query");
}
```
需要注意的是,使用第三方库获取公网IP地址需要保证网络通畅,否则会抛出异常。同时,这种方式可能会因为IP查询API的限制而无法使用。
阅读全文