java使用ip获取地理位置
时间: 2023-11-26 22:04:59 浏览: 55
Java本身并不直接提供获取IP地址对应的地理位置的功能,但是可以通过调用第三方的IP地址查询接口来实现。以下是一个示例代码,使用了淘宝IP地址库的查询接口:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
public class IPUtil {
public static void main(String[] args) {
String ip = "你要查询的IP地址";
String address = getIpAddress(ip);
System.out.println("IP地址" + ip + "对应的地理位置是:" + address);
}
public static String getIpAddress(String ip) {
String result = "";
String url = "http://ip.taobao.com/service/getIpInfo.php?ip=" + ip;
BufferedReader in = null;
try {
URLConnection connection = new URL(url).openConnection();
connection.connect();
in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
System.out.println("获取IP地址对应的地理位置失败:" + e.getMessage());
} finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e) {
System.out.println("关闭IO流失败:" + e.getMessage());
}
}
return result;
}
}
```
该示例代码中使用了淘宝IP地址库的查询接口,通过调用该接口并传入IP地址,可以获取该IP地址对应的地理位置信息。返回的结果是一个JSON格式的字符串,可以根据需要进行解析。