使用纯真IP数据库定位IP地址所在地

目前,关于IP地址的数据库,用得比较多的就是纯真数据库了,关于纯真数据库的具体格式,可以从这里找到,

http://lumaqq.linuxsir.org/article/qqwry_format_detail.htm"

也可以在附件里下载.

下载纯真数据库格式(此PDF即为前面的网站所提供的文档)

下载Demo工程(整个工程的源代码)

 

下载SourceCode(核心类的源代码)

 

纯真数据库有点小大,压缩后大于2MB了,无法上传,网上也到处都是。需要也可联系我。


在开发中,我发现这个格式解释好像漏了一种情况,我是在写代码的时候发现的:

  新加模式

在查询IP地址129.114.3.90时遇到了这样一种情况。 加上这种格式后的结果为:

image

如果按文档中的如下格式查下去(如下所示),将无法得到CZ88.NET的结果,这个值将是个乱码,跟踪发现其值为ASCII 17.

 

将这一个结果与网上的其它查询结果对比,证明此IP的信息确实应该为美国,CZ88.NET

 

源代码压缩包中包括了四个文件,也就是两个类。其中CLocalFile是我从MFC库中的提取的CFile的代码,去掉了一些用到不到功能。之屔以这样做是为了方便不想因为不想因为这个小的功能而引用MFC。CIpAddressEx就是主角了,他会从纯真数据库中查询指定的IP地址的详细信息。使用时请确认IP数据库存在,在CIPAddressEx中用一个宏定义了ip地圵的路径.

1 #define  QQ_WRY _T("E:\\Project\\IpLoacate\\debug\\QQWry.Dat")

由于这只是一个Demo,所以采用这种方式配置。实际开发中应该统一管理配置。

Demo工程文件是一个MFC的对话框工程,这个工程很简单,就是提供一个输入框,让用户输入数据,然后调用CIPAddressEx的功能显示查询结果.

 

代码在Warning Level 3下Disable warning 4267后,为0 Error,0 Warning.

 

Bug再所难免,欢迎指正!

 

转载于:https://www.cnblogs.com/homeofish/archive/2009/04/03/1428596.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值