pom.xml引入

1
2
3
4
5
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.5.9</version>
</dependency>

Java代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package com.ledao.util;

import cn.hutool.http.HttpUtil;

/**
* 根据IP获取真实地址
*
* @author LeDao
* @company
* @create 2021-03-13 11:18
*/
public class AddressUtil {

public static String getAddress(String ip) {
String result1 = HttpUtil.get("https://www.ip138.com/iplookup.asp?ip=" + ip + "&action=2");
String result = result1.split("\"ASN归属地\":\"")[1].split("\", \"iP段\":")[0];
return result;
}

public static void main(String[] args) {
String ip = "180.136.86.160";
System.out.println(getAddress(ip));
}
}

结果

img

原理

找到一个查ip的网站,随便查一个ip,然后将地址栏中的链接复制下来,链接中的ip之后在Java代码中可以动态拼接

通过Hutool工具包的HttpUtil.get方法获取查某个ip得到结果后的网站源码

通过Java的String.split方法截取网站源码中的真实地址

PS.

另一种方法:java-通过ip获取地址 - 公众号/架构师与哈苏 - 博客园