bjtdeyx

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  1 随笔 :: 1 文章 :: 3 评论 :: 0 Trackbacks
介绍通过IP地址查找ip具体的城市和运营商!
通过QQIP地址库:QQWry.Dat编写
以下只贴出少量代码,请各位直接到本人的网盘下载完整版(代码+最新QQWry.Dat),项目可直接运行!
QQWry.Dat大小为8.79M,项目大小仅390k,直接运行IPTest.java类即可!
此代码可用于各种java项目和jsp、j2ee项目
注意:QQWry.Dat只需文件放在对应的目录下即可。

网盘下载地址:http://115.com/file/dplk9jqn#


  1. public class IPSeeker {  
  2.     //纯真IP数据库名  
  3.     private String IP_FILE="QQWry.Dat";  
  4.     //保存的文件夹  
  5.     private String INSTALL_DIR="f:/qqwry";  
  6.       
  7.       
  8.     // 一些固定常量,比如记录长度等等  
  9.     private static final int IP_RECORD_LENGTH = 7;  
  10.     private static final byte REDIRECT_MODE_1 = 0x01;  
  11.     private static final byte REDIRECT_MODE_2 = 0x02;  
  12.       
  13.     // 用来做为cache,查询一个ip时首先查看cache,以减少不必要的重复查找  
  14.     private Map<String, IPLocation> ipCache;  
  15.     // 随机文件访问类  
  16.     private RandomAccessFile ipFile;  
  17.     // 内存映射文件  
  18.     private MappedByteBuffer mbb;  
  19.     // 起始地区的开始和结束的绝对偏移  
  20.     private long ipBegin, ipEnd;  
  21.     // 为提高效率而采用的临时变量  
  22.     private IPLocation loc;  
  23.     private byte[] buf;  
  24.     private byte[] b4;  
  25.     private byte[] b3;  
  26.       
  27.     public IPSeeker(String fileName,String dir)  {  
  28.         this.INSTALL_DIR=dir;  
  29.         this.IP_FILE=fileName;  
  30.         ipCache = new HashMap<String, IPLocation>();  
  31.         loc = new IPLocation();  
  32.         buf = new byte[100];  
  33.         b4 = new byte[4];  
  34.         b3 = new byte[3];  
  35.         try {  
  36.             ipFile = new RandomAccessFile(IP_FILE, "r");  
  37.         } catch (FileNotFoundException e) { 
  38. ...........
  39. .............
  40. ................
posted on 2012-02-21 13:09 心碎逍遥 阅读(2700) 评论(2)  编辑  收藏

评论

# re: java jsp 获取 纯真ip地址库(ip获取城市) 2012-02-25 10:55 smilence
我也写了个获取地理位置的方法,见http://freedomsmile.net/ba/article?id=bd3f3e72346b6c8401346b8b1ed10003  回复  更多评论
  

# re: java jsp 获取 纯真ip地址库(ip获取城市)[未登录] 2012-02-27 17:36 attend
多线程环境BUG。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: