需要除jdk自带的包以外的
commons-logging-1.1.1.jar
commons-codec-1.4.jar
httpclient-4.1.1.jar
httpclient-cache-4.1.1.jar
httpcore-4.1.jar
httpmime-4.1.1.jar
必须的哦,一个都不能少
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
public class ipUtil {
* @param args
* @author luChangHua
* @throws IOException
* @throws ClientProtocolException
* @createDate 2011-7-4上午10:27:27
public static void main(String[] args) throws ClientProtocolException, IOException {
Map map = getIpMessage("125.123.70.73");
System.out.println(map.get("ip"));
System.out.println(map.get("address"));
}
* 获得ip的所在地
* @param ip
* @return map{"ip":ip,"address",address}
* @throws ClientProtocolException
* @throws IOException
* @author luChangHua
* @createDate 2011-7-4下午03:36:10
public static HashMap getIpMessage(String ip) throws ClientProtocolException, IOException{
HashMap map = new HashMap();
String result= "";
String url = "http://www.youdao.com/smartresult-xml/search.s?type=ip&q="+ip;
result = httPGet(url);
String thisIp = findByReg("<ip>\\s*?([^<>]*?)\\s*?</ip>",result);
String location = findByReg("\\s*?<location>(.*?)</location",result);
return map;
}
* 用正则表达式匹配内容
* @param reg 正则表达式
* @param content 进行匹配的内容
* @return 匹配到的内容
* @author luChangHua
* @createDate 2011-7-4下午03:37:49
public static String findByReg(String reg,String content){
String result = "";
Pattern pattern =Pattern.compile(reg);
Matcher matcher = pattern.matcher(content);
if(matcher.find()){
result = matcher.group(1);
}
return result;
}
*
* 简易的httpclient get方法
* @param url 需要请求的链接
* @return 打开链接的内容
* @throws ClientProtocolException
* @throws IOException
* @author luChangHua
* @createDate 2011-7-4下午03:39:18
*
public static String httPGet(String url) throws ClientProtocolException, IOException{
String result= "";
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
HttpResponse response = httpclient.execute(httpGet);
HttpEntity entity = response.getEntity();
result = EntityUtils.toString(entity);
httpclient.getConnectionManager().shutdown();
return result ;
}
}
分享到:
相关推荐
本文将详细讲解如何在Java环境中,通过读取纯真IP数据库来获取IP地址所在地区。 首先,要理解IP地址和地理位置之间的关联。IP地址是一个由四部分组成的数字标识,用于在网络中唯一标识一台设备。而地理位置信息则是...
本篇文章将分享一个利用Java实现根据IP地址获取地理位置的简单示例,主要使用了QQ在线接口,同时提到了其他如新浪、淘宝等提供的接口作为替代选项。 首先,我们来看一下核心的Java代码。这段代码定义了一个`...
这段代码会加载GeoLite2数据库,并根据给定的IP地址获取对应的国家和城市信息。 接下来是身份证(ID Card)查询。在中国,身份证号码包含了持卡人的出生日期、性别以及籍贯信息。虽然我们不能直接通过身份证号码...
标题“获取动态IP以及所在地”涉及的是网络通信领域的一个常见需求,即如何获取计算机或设备在互联网上的IP地址以及对应的地理位置信息。IP地址是互联网上设备的唯一标识,分为静态IP和动态IP两种。静态IP地址是固定...
它利用了IP地址与地理位置之间的关联,为用户提供他们所在城市的展示信息。 首先,我们来看看“qqwry”这个标签。"qqwry"指的是“QuickWry”,它是国内广泛使用的IP数据库,包含了全球IP地址到地理位置的映射。这个...
2. **创建IPv6Bean对象**:为每个查询的IPv6地址创建一个`IPv6Bean`实例,存储IP地址本身以及后续查询得到的地理位置信息。 3. **执行查询**:在`IpV6Seeker`类中,实现一个方法,接受IPv6地址作为参数,使用ZX库的...
- 由于IP地址按顺序排列,可以利用二分查找算法高效地找到目标IP地址所在的位置。 - 实现二分查找时,注意边界条件的处理和递归终止条件。 6. **数据结构设计**: - 为了方便存储和查找,可以创建一个自定义的...
在IT行业中,IP位置定位是一项重要的技术,它能够根据给定的IP地址确定网络设备所在的位置。本项目基于Java编程语言,利用QQWry.Dat数据库文件实现了IP到地理位置的映射,使得开发者可以轻松地在自己的应用中集成这...
在IT行业中,网络编程是必不可少的一部分,而获取IP地址对应的位置信息是常见的需求。本话题主要探讨如何使用Java实现输入IP地址并查询其对应的地理位置,这里我们借助了“QQ纯真”数据库。以下是对这个主题的详细...
在IT行业中,网络访问控制是安全策略的重要组成部分。...以上知识点是实现"IP地址段的过滤,限制IP,限制主机访问"的关键所在。通过理解和应用这些技术,开发者可以有效地控制网络访问权限,增强应用的安全性。
解析过程一般包括定位到特定IP地址所在的记录,然后提取出对应的国家和地区信息。 Java中,我们可以使用`BufferedReader`或`RandomAccessFile`来读取文件内容。对于二进制文件,可能还需要使用`DataInputStream`来...
在IT行业中,网络编程是不可或缺的一部分,而获取用户IP地址并确定其所在地区是一项常见的需求。"handsome获取ip+地区工具包"就是一个专门解决这个问题的Java工具包,它利用了“纯真数据库”(也称为ZDB或Chinaz IP...
在Java中,我们需要使用特定的解析算法来读取和解析这个文件,以便快速查找到特定IP地址所在的区域信息。 实现这一功能的关键步骤如下: 1. **文件读取**:使用Java的`FileInputStream`类来打开和读取qqWry.dat...
在IT领域,获取IP地址信息是一项基础且重要的任务,它涉及到网络通信、地理位置定位以及网络安全等多个方面。IPSeeker和QQwry是两种常见的IP地址查询工具,它们可以帮助我们快速地解析和查找与IP地址相关的详细信息...
当接收到一个请求时,API会查找输入IP地址所在的IP段,并返回匹配到的城市信息。 至于经纬度定位,API可能使用了预计算的地理位置数据,如地图瓦片或者反地理编码索引。通过输入的经度和纬度,API可以在本地数据库...
2. 查询代码:可能是一段编程代码,实现了对IP地址的查询功能。这可能是用Python、Java、JavaScript或其他编程语言编写的,用户可以根据自己的需求进行调用和定制。 3. 网络版查询接口:可能提供了如何使用第三方...
它的工作原理是通过二分查找法,快速定位到输入IP地址所在的区间,从而获取对应的位置信息。 `QQWry.java`则可能是一个Java实现的IP查询类,用于读取`QQWry.Dat`文件并进行解析。这个类可能包含了打开数据文件、...
在IT行业中,IP地址转城市是一项常见的网络定位技术,它主要应用于网络安全、数据分析、广告定向等领域。IP地址是由四段数字组成,每段之间用点号分隔,如192.168.0.1,这串数字是网络设备在互联网上的唯一标识。而...
GeoIP是地理定位的一种方法,它通过查找数据库来确定一个IP地址所在的地理位置。这项技术在网络安全、数据分析、广告定向、内容过滤等多个领域都有广泛应用。 在描述中提到的“博文链接:...
解析这个文件时,我们需要找到指定IP地址所在的记录,然后根据字符串索引去文件尾部查找实际的国家和地区名称。 在Java中,可以使用以下步骤来实现: 1. **打开文件**:使用`FileInputStream`打开qqwry.dat文件,...