`
shine1200
  • 浏览: 41554 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一段获取ip所在地的java代码

 
阅读更多
需要除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所在地区

    本文将详细讲解如何在Java环境中,通过读取纯真IP数据库来获取IP地址所在地区。 首先,要理解IP地址和地理位置之间的关联。IP地址是一个由四部分组成的数字标识,用于在网络中唯一标识一台设备。而地理位置信息则是...

    java实现根据ip地址获取地理位置的代码分享

    本篇文章将分享一个利用Java实现根据IP地址获取地理位置的简单示例,主要使用了QQ在线接口,同时提到了其他如新浪、淘宝等提供的接口作为替代选项。 首先,我们来看一下核心的Java代码。这段代码定义了一个`...

    java ip,身份证等接口查询所在地

    这段代码会加载GeoLite2数据库,并根据给定的IP地址获取对应的国家和城市信息。 接下来是身份证(ID Card)查询。在中国,身份证号码包含了持卡人的出生日期、性别以及籍贯信息。虽然我们不能直接通过身份证号码...

    获取动态IP以及所在地

    标题“获取动态IP以及所在地”涉及的是网络通信领域的一个常见需求,即如何获取计算机或设备在互联网上的IP地址以及对应的地理位置信息。IP地址是互联网上设备的唯一标识,分为静态IP和动态IP两种。静态IP地址是固定...

    根据ip获取用户所在地址demo

    它利用了IP地址与地理位置之间的关联,为用户提供他们所在城市的展示信息。 首先,我们来看看“qqwry”这个标签。"qqwry"指的是“QuickWry”,它是国内广泛使用的IP数据库,包含了全球IP地址到地理位置的映射。这个...

    Java实现IPV6地址查询

    2. **创建IPv6Bean对象**:为每个查询的IPv6地址创建一个`IPv6Bean`实例,存储IP地址本身以及后续查询得到的地理位置信息。 3. **执行查询**:在`IpV6Seeker`类中,实现一个方法,接受IPv6地址作为参数,使用ZX库的...

    java读取纯真IP地址数据库

    - 由于IP地址按顺序排列,可以利用二分查找算法高效地找到目标IP地址所在的位置。 - 实现二分查找时,注意边界条件的处理和递归终止条件。 6. **数据结构设计**: - 为了方便存储和查找,可以创建一个自定义的...

    java基于QQWry.Dat实现IP位置定位,项目可直接运行

    在IT行业中,IP位置定位是一项重要的技术,它能够根据给定的IP地址确定网络设备所在的位置。本项目基于Java编程语言,利用QQWry.Dat数据库文件实现了IP到地理位置的映射,使得开发者可以轻松地在自己的应用中集成这...

    用java实现输入ip得到地址 成功

    在IT行业中,网络编程是必不可少的一部分,而获取IP地址对应的位置信息是常见的需求。本话题主要探讨如何使用Java实现输入IP地址并查询其对应的地理位置,这里我们借助了“QQ纯真”数据库。以下是对这个主题的详细...

    IP地址段的过滤,限制ip,限制主机访问

    在IT行业中,网络访问控制是安全策略的重要组成部分。...以上知识点是实现"IP地址段的过滤,限制IP,限制主机访问"的关键所在。通过理解和应用这些技术,开发者可以有效地控制网络访问权限,增强应用的安全性。

    JAVA通过IP查询详细地址

    解析过程一般包括定位到特定IP地址所在的记录,然后提取出对应的国家和地区信息。 Java中,我们可以使用`BufferedReader`或`RandomAccessFile`来读取文件内容。对于二进制文件,可能还需要使用`DataInputStream`来...

    handsome获取ip+地区工具包

    在IT行业中,网络编程是不可或缺的一部分,而获取用户IP地址并确定其所在地区是一项常见的需求。"handsome获取ip+地区工具包"就是一个专门解决这个问题的Java工具包,它利用了“纯真数据库”(也称为ZDB或Chinaz IP...

    java qqWry.dat多个IP同时查询代码

    在Java中,我们需要使用特定的解析算法来读取和解析这个文件,以便快速查找到特定IP地址所在的区域信息。 实现这一功能的关键步骤如下: 1. **文件读取**:使用Java的`FileInputStream`类来打开和读取qqWry.dat...

    获取ip地址信息

    在IT领域,获取IP地址信息是一项基础且重要的任务,它涉及到网络通信、地理位置定位以及网络安全等多个方面。IPSeeker和QQwry是两种常见的IP地址查询工具,它们可以帮助我们快速地解析和查找与IP地址相关的详细信息...

    根据IP或经纬度查询城市-离线版.zip

    当接收到一个请求时,API会查找输入IP地址所在的IP段,并返回匹配到的城市信息。 至于经纬度定位,API可能使用了预计算的地理位置数据,如地图瓦片或者反地理编码索引。通过输入的经度和纬度,API可以在本地数据库...

    ip地址查询

    2. 查询代码:可能是一段编程代码,实现了对IP地址的查询功能。这可能是用Python、Java、JavaScript或其他编程语言编写的,用户可以根据自己的需求进行调用和定制。 3. 网络版查询接口:可能提供了如何使用第三方...

    根椐ip得到地址

    它的工作原理是通过二分查找法,快速定位到输入IP地址所在的区间,从而获取对应的位置信息。 `QQWry.java`则可能是一个Java实现的IP查询类,用于读取`QQWry.Dat`文件并进行解析。这个类可能包含了打开数据文件、...

    ip地址转城市

    在IT行业中,IP地址转城市是一项常见的网络定位技术,它主要应用于网络安全、数据分析、广告定向等领域。IP地址是由四段数字组成,每段之间用点号分隔,如192.168.0.1,这串数字是网络设备在互联网上的唯一标识。而...

    IP地址与国家地区映射 GeoIP

    GeoIP是地理定位的一种方法,它通过查找数据库来确定一个IP地址所在的地理位置。这项技术在网络安全、数据分析、广告定向、内容过滤等多个领域都有广泛应用。 在描述中提到的“博文链接:...

    java读取qqwry.dat实现IP地域查询

    解析这个文件时,我们需要找到指定IP地址所在的记录,然后根据字符串索引去文件尾部查找实际的国家和地区名称。 在Java中,可以使用以下步骤来实现: 1. **打开文件**:使用`FileInputStream`打开qqwry.dat文件,...

Global site tag (gtag.js) - Google Analytics