/**根据IP地址获取地域信息 * @param ipAddress * @return */ public static String getRegionInfo(String ipAddress) { String result = null; String url_str = "http://ip.taobao.com/service/getIpInfo.php?ip=" + ipAddress; try { URL url = new URL(url_str); BufferedReader in = new BufferedReader(new InputStreamReader( url.openStream())); String inLine = in.readLine(); in.close(); if (("0").equals(getValueByJsonStr(inLine,p1))) { result = unicode2String(getValueByJsonStr(inLine,p2)+getValueByJsonStr(inLine,p3)+getValueByJsonStr(inLine,p4)+getValueByJsonStr(inLine,p5)); } else { result = "获取不到该IP的地域信息"; } } catch (Exception e) { result = "根据IP地址[" + ipAddress + "]获取地域信息的时候发生异常"; } return result; } private static Pattern p1 = Pattern.compile("(?<=\"code\")(?:\\s*:\\s*)(?:\"?)(.*?)(?:\"?\\s*)(?:,)"); private static Pattern p2 = Pattern.compile("(?<=\"country\")(?:\\s*:\\s*)(?:\"?)(.*?)(?:\"?\\s*)(?:,)"); private static Pattern p3 = Pattern.compile("(?<=\"region\")(?:\\s*:\\s*)(?:\"?)(.*?)(?:\"?\\s*)(?:,)"); private static Pattern p4 = Pattern.compile("(?<=\"city\")(?:\\s*:\\s*)(?:\"?)(.*?)(?:\"?\\s*)(?:,)"); private static Pattern p5 = Pattern.compile("(?<=\"isp\")(?:\\s*:\\s*)(?:\"?)(.*?)(?:\"?\\s*)(?:,)"); private static String getValueByJsonStr(String jsonStr,Pattern p){ Matcher m = p.matcher(jsonStr); if(m.find()){ return m.group(1).toString(); } return null; } /** * unicode 转字符串 */ public static String unicode2String(String unicode) { StringBuffer string = new StringBuffer(); String[] hex = unicode.split("\\\\u"); for (int i = 1; i < hex.length; i++) { // 转换出每一个代码点 int data = Integer.parseInt(hex[i], 16); // 追加成string string.append((char) data); } return string.toString(); }
相关推荐
总结来说,`geoip2-2.12.0.jar`是一个强大的Java库,可以帮助我们高效地通过IP地址获取详细的地理位置信息。结合GeoIP2或GeoLite2数据库,开发者可以在自己的应用程序中轻松实现IP地址的地理位置查询,从而提升用户...
在Java编程中,根据IP地址查询其所在地区是一项常见的需求,尤其在网络安全、数据分析和地理位置服务等领域。这个任务可以通过调用公开的API或者使用特定的库来实现。下面我们将详细探讨如何实现这一功能。 首先,...
2. **创建IPv6Bean对象**:为每个查询的IPv6地址创建一个`IPv6Bean`实例,存储IP地址本身以及后续查询得到的地理位置信息。 3. **执行查询**:在`IpV6Seeker`类中,实现一个方法,接受IPv6地址作为参数,使用ZX库的...
例如,它可能包含了一些图像处理算法,如缩放、裁剪或者添加标注,以在地图上清晰地展示IP地址对应的位置。 "IPEntry.java"很可能表示IP地址条目,这是一个数据结构,用于存储单个IP地址及其关联的地理位置信息。它...
这个类可能采用了某种IP库,如MaxMind的GeoIP或类似的服务,来根据IP地址查找对应的地理位置信息。通常,它会有一个方法如`getLocationByIP(String ip)`,接收IP地址作为参数,然后返回包含国家、城市等详细地理位置...
在IT行业中,将IP地址转换为实际地域名称是一项常见的需求,尤其在数据分析、网络安全和地理位置服务等领域。IP地址是互联网上设备的唯一标识符,通常表现为一组数字,如192.168.1.1。而将其转换成实际的地域信息,...
这个压缩包的用途是提供一个IP数据库,能够根据输入的IP地址查询到对应的省市信息。在互联网和网络服务领域,这种功能非常实用,例如用于定位用户位置、实施地理限制或提供本地化服务。 “ip数据库”是一种存储了...
标题中的“IP地址转城市 通过IP得知访客地址 全国各地IP地址数据库”指的是一个用于定位IP地址对应地理位置的数据库系统。这样的系统通常包含了大量IP地址范围及其对应的省份和城市信息,使得开发者和服务提供商能够...
qqwry.dat是一个包含全球IP地址及其对应地理位置信息的数据文件,由著名的IP查询库——QuanWuRy(超级IP库)提供。在Java中,我们可以利用文件流和二进制读取方式来解析这个数据文件,从而快速地将IP地址转化为实际...
IP2Region是一个高效、精确的IP地址查询工具,它允许我们快速获取到IP地址对应的地理位置信息。本文将深入探讨IP2Region的Java实现,以及其与SQLite数据库的结合使用。 1. **IP2Region介绍** IP2Region是一个开源...
在IT行业中,IP地域对照表是一项非常实用的工具,它能够帮助我们快速定位网络上的IP地址对应的地理位置。这种对照表通常包含了大量的IP地址段及其对应的城市、国家等地理信息,对于网络安全、数据分析、网站访问统计...
在IT行业中,根据IP地址判断用户所在城市是一项常见的任务,主要应用于地理位置服务、网络分析、个性化推荐等场景。这项技术的基础是IP地址与地理位置之间的映射关系,这通常通过IP库或者API服务来实现。 首先,...
标题中的“IP所属地域查询”指的是通过特定的技术手段获取一个IP地址所对应的地理位置信息。在互联网上,每个设备在连接网络时都会被分配一个唯一的IP地址,这个地址可以用来识别设备在网络上的位置。IP归属地查询是...
纯真IP数据库是一个包含全球IP地址段及其对应地理位置信息的数据库,由国内知名网站Chinaz提供并定期更新。这个数据库包含了IP地址、国家、地区、城市等信息,使得开发者可以快速地将IP地址映射到相应的地理位置。...
例如,配合DNS解析,可以进一步获取域名对应的IP地址信息;与日志分析工具结合,可追踪用户行为,分析流量来源;在网络安全领域,它可以帮助识别潜在的攻击源,提高防护能力。 总的来说,UTFWry.dat作为一款实用的...
2. `ip.merge.txt`:这是一个IP地址段与对应地区的合并文件,其中包含了IP地址的起始和结束范围以及对应的地区信息。通过这个文件,我们可以快速定位到某个IP地址属于哪个地理区域。 3. `ip2region.db`:这是IP2...
这个数据库包含了全球范围内的IP地址信息,帮助用户确定一个IP地址对应的位置,如城市、国家、经纬度以及自治系统编号(AS Number)等详细数据。在IT行业中,这种服务对于网络分析、网络安全、广告定向、内容本地化...
它包含了全球范围内的大量IP地址与对应地理位置的映射信息,允许用户快速查询特定IP地址所对应的国家、地区或者城市等详细信息。这个数据库在IT领域中尤其受到欢迎,因为它提供了高效且准确的IP定位服务。 IP地址是...
2. `GeoLite2-City.mmdb`:这是MaxMind公司的GeoLite2数据库的新版格式,同样用于存储IP地址与地理位置信息的对应关系。`.mmdb`文件是一种高效的数据存储格式,专为MaxMind的GeoDB设计,能够快速地查找和解析IP地址...
IP2Region是一个高效且精确的IP定位数据库,它能够帮助开发者快速地查询到一个IP地址对应国家和省份的信息。这个数据库设计的目标是为互联网服务提供快速、准确的地理位置信息服务,尤其在处理大量IP查询的情况下,...