通过网址或IP获取省份城市

下载数据文件

https://dev.maxmind.com/geoip/geoip2/downloadable/#MaxMind_APIs

  

添加maven依赖

        <dependency>
            <groupId>com.maxmind.geoip2</groupId>
            <artifactId>geoip2</artifactId>
            <version>2.10.0</version>
        </dependency>

  

java代码具体实现:

import com.fasterxml.jackson.databind.JsonNode;
import com.maxmind.db.Reader;
import com.maxmind.geoip2.DatabaseReader;
import com.maxmind.geoip2.exception.GeoIp2Exception;
import com.maxmind.geoip2.model.AnonymousIpResponse;
import com.maxmind.geoip2.model.CityResponse;
import com.maxmind.geoip2.record.City;
import com.maxmind.geoip2.record.Country;
import com.maxmind.geoip2.record.Location;
import com.maxmind.geoip2.record.Subdivision;
import org.junit.Test;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.InetAddress;

/**
 * Created by yiliang9117
 * 2017-12-10 09:40
 */
public class CTest {

    @Test
    public void cityTest() throws IOException, GeoIp2Exception {
        InputStream in = ClassLoader.getSystemResourceAsStream("GeoLite2-City.mmdb");//数据文件地址
        Reader r = new Reader(in);
        JsonNode node = r.get(InetAddress.getByName("tianya.cn"));
        //国家
        String country = node.get("country").get("names").get("zh-CN").textValue();
        System.out.println(country);
        //省份
        String area = node.get("subdivisions").get(0).get("names").get("zh-CN").textValue();
        //城市
        String city = node.get("city").get("names").get("zh-CN").textValue();
        System.out.println(country + "." + area + "." + city);
    }

}

  

时间: 2024-11-02 11:47:55

通过网址或IP获取省份城市的相关文章

通过IP地址获取省份城市位置信息

private String mResult = null; private String mProvinceName; //省份 private String mChCityName; //城市 private int GET_CITY_SUCCESS = 1; private int GET_CITY_FAILURE = 2; //Handler接收到消息进行处理,取出需要的信息 privateHandler mHandler = new Handler() { public void ha

IOS-根据ip获取当前城市的编号

IOS 通过ip地址获取当前城市的编号 //解析网址通过ip 获取城市天气代码    NSURL *url = [NSURL URLWithString:@"http://61.4.185.48:81/g/"];        //    定义一个NSError对象,用于捕获错误信息    NSError *error;    NSString *jsonString = [NSString stringWithContentsOfURL:url encoding:NSUTF8Stri

php 通过ip获取所在城市地址信息 获取计算机外网ip

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

C# 解析百度天气数据,Rss解析百度新闻以及根据IP获取所在城市

百度天气 接口地址:http://api.map.baidu.com/telematics/v3/weather?location=上海&output=json&ak=hXWAgbsCC9UTkBO5V5Qg1WZ9,其中ak是密钥,自行去申请即可,便于大家测试,楼主就公布并了自己的Key,这样可以直接获取到数据. 获取到的数据是这样的: {"error":0,"status":"success","date"

ip获取所在城市名称等信息接口,及函数

函数: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 function https_request($url,$data = null){     $curl = curl_init();          curl_setopt($cur

通过数据库获取省份城市区县的名字

转载请注明出处,谢谢http://blog.csdn.net/harryweasley/article/details/46557807 本篇博客的主要目的,是介绍怎样将数据库文件保存到手机系统文件,并且可以显示各个省市地的名字. 数据库一共有三个表,他们分别是(后面我将上传整个文件和数据库文件) 省表 CREATE TABLE IF NOT EXISTS `fs_province` ( `ProvinceID` bigint(20) NOT NULL, `ProvinceName` varch

根据访问IP获取所在城市并绑定下拉列表

JS调用 <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/jquery.cityselect.js"></script> <script type="text/javascript" src="h

js根据ip地址获取所在城市

话不多说,直接贴代码! 将这段代码运行一下就OK了: <html xmlns=""> <head runat="server"> <title>根据IP地址获取所在城市</title> <scriptsrc="?format=js"type="text/ecmascript"></script> <script type="text/jav

服务器如何获取客户端用户的(城市)地址[获得真实IP再获得城市]

在web开发中,经常有需求,需要知道客户用户现在所在位置(城市),一般原理是这样,第一:先通过request对象获得远端用户的ip地址,第二:再利用第三方免费的(接口)服务,通过ip查询出用户的所在城市, 我擅长jsp,下面我们就已jsp为例: 在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了 Apache,Nagix等反向代理(此处不懂反向代理请点击   点击打开链接 )软件就不能获取到客户端的真实IP地址