【java】使⽤ip获取国家省份城市 1.下载GeoLite2 City库
下载地址:
2.导⼊相关坐标坐标
<dependency>
<groupId>ip2</groupId>
<artifactId>geoip2</artifactId>
日语可恶<version>2.8.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
3.代码实现
import ip2.DatabaReader;
import ption.GeoIp2Exception;
import del.CityRespon;
钢铁侠3英文版
import d.*;
import java.io.File;
import java.io.IOException;
import java.InetAddress;
/**
* @author yijiu
光棍宣言
* @date 2021/8/2 15:04
*/
public class IpAddress {
public static void main(String[] args) throws Exception{
String ip = "180.117.160.226";
IpAddress ipAddressController = new IpAddress();
// 获取国家信息
String country = Country(ip);
System.out.println("country:"+country);
// 获取省份
String province = Province(ip);
System.out.println("province:"+province);
chess怎么读// 获取城市
String city = City(ip);
System.out.println("city:"+city);
}
private String getCity(String ip) throws IOException, GeoIp2Exception {
// 创建 GeoLite2 数据库
File databa = new File("db");//这⾥是下载的GeoLite2 City库的路径batch是什么意思
// 读取数据库内容
DatabaReader reader = new DatabaReader.Builder(databa).build();
InetAddress ipAddress = ByName(ip);
// 获取查询结果
不痛 我笑一笑从容
CityRespon respon = reader.city(ipAddress);
//获取City
City city = City();
City city = City();
// System.out.Name()); // 'Nanning'
// Postal postal = Postal();
// System.out.Code()); // 'null'
// System.out.Names().get("zh-CN")); // '南宁'
// Location location = Location();
/
/ System.out.Latitude()); // 22.8167
// System.out.Longitude()); // 108.3167
Names().get("zh-CN");
}
四六级准考证打印private String getProvince(String ip) throws IOException, GeoIp2Exception {
淘宝店铺公告// 创建 GeoLite2 数据库alpine
File databa = new File("db");
// 读取数据库内容
DatabaReader reader = new DatabaReader.Builder(databa).build(); InetAddress ipAddress = ByName(ip);
// 获取查询结果
methodist
CityRespon respon = reader.city(ipAddress);
//获取Province
Subdivision subdivision = MostSpecificSubdivision();
// System.out.Name()); // 'Guangxi Zhuangzu Zizhiqu' // System.out.IsoCode()); // '45'
// System.out.Names().get("zh-CN")); // '⼴西壮族⾃治区' Names().get("zh-CN");
}
private String getCountry(String ip) throws IOException, GeoIp2Exception {
// 创建 GeoLite2 数据库
File databa = new File("db");
// 读取数据库内容
DatabaReader reader = new DatabaReader.Builder(databa).build(); InetAddress ipAddre
ss = ByName(ip);
// 获取查询结果
CityRespon respon = reader.city(ipAddress);
//获取country
Country country = Country();
// System.out.IsoCode()); // 'CN'
// System.out.Name()); // 'China'
// System.out.Names().get("zh-CN")); // '中国'
Names().get("zh-CN");
}
}
输⼊结果
country:中国
province:江苏省
city:苏州市