改自HeDaode 2007-12-28的代码 将之改为从硬盘读取后文件后,将MemoryStream放到内存中,提高后续查询速度 ///<summary> /// 提供从纯真IP数据库搜索IP信息的方法: ///</summary> public class IPSearch { FileStream fileStream = null; static long[] ipArray = null; ; long ip; static MemoryStream ipFile =nu…
纯真IP数据库(qqwry.dat)转换成最新的IP数据库格式(ipwry.dat) 转载自:http://blog.cafeboy.org/2011/02/25/qqwry-to-ipwry/ http://blog.csdn.net/cnss/article/details/136069 http://blog.csdn.net/cnss/article/details/77628 http://lumaqq.linuxsir.org/article/qqwry_format_detail.…
lib-qqwry是当初学习node时用来练手的一个模块,用来解析纯真IP库的 现在发一个v1.0版本弥补我当时稚嫩的代码. 意外收获是,整理代码后发现,相比v0.x版本 急速模式下的效率提升大概20%; 但 v1.0 相比 v0.x 有很大改动,并不兼容之前的版本,所以升级碰到问题的同学需要好好了解一下. 1.初始化 v0.x 初使化的初衷是让用户可以使用指定版本的IP库文件, 在最合适的时候把IP库加载到内存中进行高速查询; v1.0 v1.0改变了程序结构,实现方式; 不将IP库加载到内存…
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> #include <stdlib.h> #include <windows.h> using namespace std; char *ptr = NULL; //ptr of image//内存映射文件 char *p = NULL; //point to index//索引区 unsigned int total;…
昨天在写程序的时候,发现在用户的时候记录IP和地区信息也许以后用得上,去网上找了找,发现实现的方式有好多好多,因为我用的ThinkPHP,后来又去TP官网找了找,最后采用了下面这种方法. <?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK IT ] // +--------------------------…
https://blog.csdn.net/myweishanli/article/details/45098693 准备工作: 建议本地IP地址数据库,请到http://www.cz88.net/这个网站下载一个纯真IP数据库,安装完成后,到安装目录里把QQWry.dat文件取出来,这个就是我们想要的IP数据库了,放到你想要目录下. 正面这个IP地址查询处理的类 <?php /** * IP 地理位置查询类 */ class Helper_IpLocation { /** * QQWry.Da…
纯真版IP数据库,优点是记录多,查询速度快,它只用一个文件QQWry.dat就包含了所有记录,方便嵌入到其他程序中,也方便升级.缺点是你想要编辑它却是比较麻烦的,由于其文件格式的限制,你要直接添加IP记录就不容易了 基本结构QQWry.dat 文件在结构上分为3块:文件头,记录区,索引区.一般我们要查找IP时,先在索引区查找记录偏移,然后再到记录区读出信息.由于记录区的记录是不定长的, 所以直接在记录区中搜索是不可能的.由于记录数比较多,如果我们遍历索引区也会是有点慢的,一般来说,我们可以用二分…
纯真版IP数据库,优点是记录多,查询速度快,它只用一个文件QQWry.dat就包含了所有记录,方便嵌入到其他程序中,也方便升级.缺点是你想要编辑它却是比较麻烦的,由于其文件格式的限制,你要直接添加IP记录就不容易了 基本结构QQWry.dat 文件在结构上分为3块:文件头,记录区,索引区.一般我们要查找IP时,先在索引区查找记录偏移,然后再到记录区读出信息.由于记录区的记录是不定长的, 所以直接在记录区中搜索是不可能的.由于记录数比较多,如果我们遍历索引区也会是有点慢的,一般来说,我们可以用二分…
在网上看到的别人写的python2的代码,修改成了python3. 把纯真IP数据库文件qqwry.dat放到czip.py同一目录下. #! /usr/bin/env python # -*- coding: utf-8 -*- # filename: czip.py import socket import struct class CzIp: def __init__(self, db_file='qqwry.dat'): self.f_db = open(db_file, "rb&quo…
function convertip($ip) { $ip1num = 0; $ip2num = 0; $ipAddr1 =""; $ipAddr2 =""; $dat_path = './QQWry.Dat'; if(!preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/", $ip)) { return 'IP Address Error'; } if(!$fd = @fopen($dat_pa…
下载纯真IP数据库 安装后解压到本地为ip.txt 格式为: 1.1.145.0       1.1.147.255     泰国 沙功那空 1.1.148.0       1.1.149.255     泰国  CZ88.NET 1.1.150.0       1.1.150.128     泰国 沙功那空 ip.txt上传到linux,用vim打开ip.txt vim ip.txt 正则表达式替换 输入:%s/\s\+/;/ 重复3次即可完成替换 正则表达式说明(如果你会用sed做替换,那么…
网址:http://www.cz88.net/ 下载安装后,有这个文件: 安装路径/ip/qqwry.dat 创建实例的时候吧这个文件路径传入,即可调用. /** * 从纯真IP地址库查询ip归属 */ public class IPSeeker { /** * * 用来封装ip相关信息,目前只有两个字段,ip所在的国家和地区 */ private class IPLocation { public String country; public String area; public IPLoc…
# -*- coding: utf-8 -*- import socket import struct class IPAddresss: def __init__(self, ipdbFile): self.ipdb = open(ipdbFile, "rb") str = self.ipdb.read(8) (self.firstIndex, self.lastIndex) = struct.unpack('II', str) self.indexCount = int((self…
几年前从某个博客抄来的,已经忘记原地址了,如果需要C#版的,可以在博客园搜到吧.我因为自己用,所以转换为了VBNET代码,而且也放置了很久,今天无意间翻出来,就分享给大家吧. 首先,先下载 纯真数据库,名称应该是 QQWry.dat .之后将数据库文件复制到程序的主目录即可. Imports System.IO Imports System.Text Imports System.Text.RegularExpressions Imports System.Net Imports System.…
PS:网上直接找的,贴出来,方便以后随时用,感谢分享的人. #!/usr/bin/python #encoding: utf-8 import socket import codecs import mmap from struct import pack, unpack def decode_str(old): '''专门对纯真的gbk编码字符串解压 返回 utf8 字符串 ''' try: return unicode(old,'gbk').encode('utf-8') except: #…
#纯真数据库调用函数(需要下载纯真数据库文件) function convertip($ip) { $ip1num = 0; $ip2num = 0; $ipAddr1 =""; $ipAddr2 =""; $dat_path = './QQWry.Dat'; //纯真数据库文件位置 if(!preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/", $ip)) { return 'IP Addres…
.版本 .支持库 spec .程序集 程序集1 .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码 _临时子程序 () ' 在初始化代码执行完毕后调用测试代码 返回 () ' 可以根据您的需要返回任意数值 .子程序 _临时子程序 ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中. ***注意不要修改本子程序的名称.参数及返回值类型. 调试输出 (查询IP归属地 (“192.168.0.0”)…
直接一个单元,代码分享出来. unit   Net.IPLocation; interface uses System.Classes, System.SysUtils, Winapi.WinSock, Vcl.Forms, System.Math, System.SyncObjs; type TIPLocation = class(TObject) private QQWryFileName: string; QQWryFileStream: TBufferedFileStream; QQWr…
高性能IP数据库格式 qqzeng-ip.dat 编码:UTF8           字节序:Little-Endian 返回多个字段信息(如:亚洲|中国|香港|九龙|油尖旺|新世界电讯|810200|Hong Kong|HK|114.17495|22.327115) ------------------------ 文件结构 --------------------------- //文件头 16字节(4-4-4-4) [索引区第一条流位置][索引区最后一条流位置][前缀区第一条的流位置][前…
淘宝api: package com.ebways.mq.utils; import com.alibaba.fastjson.JSON; import com.ebways.common.utils.StringUtils; import java.io.*; import java.net.HttpURLConnection; import java.net.URL; import java.util.HashMap; import java.util.Map; /** * Created…
项目结构 运行效果: 数据库: /* SQLyog Ultimate v12.09 (64 bit) MySQL - 5.5.53 : Database - ajaxexample_2 ********************************************************************* */ /*!40101 SET NAMES utf8 */; /*!40101 SET SQL_MODE=''*/; /*!40014 SET @OLD_UNIQUE_CHE…
通过IP地址判断客户端是网通的还是电信的. 使用一个纯文本的IP纯真数据库,用Python写了一个小程序. 核心代码: #!/usr/bin/env python #site www.jbxue.com # # -*- coding: utf-8 -*- from bisect import bisect _LIST1, _LIST2 = [], [] _INIT = False ip2int = lambda ip_str: reduce(lambda a, b: (a << 8) + b,…
package com.test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL; import java.net.URLConnection; import java.util.HashMap; import java.util.List; import jav…
根据域名查询注册人信息 举个例子.随便找一个网站 iappp.cn 通过whois查询,得到以下信息 我们可以得知这个域名的注册商(腾讯云),以及注册人真实姓名(也有可能是假的),还有注册人邮箱等等一系列信息 还可以通过邮箱以及真实姓名查询到旗下的注册的其他域名 通过邮箱获取注册人手机号 以前的qq找回密码能暴露出手机号的前三和后2 现在好像是不行了.当然可以去淘宝或者微博等网站试一下是否注册后 如果注册过就尝试找回密码 获取真实号码 得到了号码的前三和后2了后 再通过手机号码生成器 生成大约几…
http://blog.csdn.net/clin003/archive/2007/08/14/1743157.aspx 利用 QQWry.Dat 实现 IP 地址高效检索(PHP) 根据 LumaQQ 开发者文档中的纯真 IP 数据库格式详解,我编写了一个 PHP 的查询 IP 所在地区信息的类.在编写过程中发现纯真 IP 数据库格式详解中关于记录区的描述不是很全面,不过出入也不是很大,所以我没必要再写一份纯真 IP 数据库的格式说明了,大家感兴趣的话,读一读下面的代码应该就能看出来了.代码中…
<?php// +----------------------------------------------------------------------// |// +----------------------------------------------------------------------// |// +----------------------------------------------------------------------class iplocate{…
根据用户IP地址判定出所在城市以及网络运营商 qqwry.dat下载地址:http://files.cnblogs.com/guangxiaoluo/qqwry.rar  解压出来即可 //获取用户真实ip function getIP() { if(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) $ip = getenv(&…
原文:http://blog.csdn.net/chwshuang/article/details/78027873?locationNum=10&fps=1 Java使用纯真IP库获取IP对应省份和城市 项目上接到一个需求,按照用户IP地址判断用户省份.城市,来展示不同的内容.在网上进行选型的时候,有几个选择 开源免费的IP库选型 GeoIP2 GeoLite2开源免费的数据库 MaxMind作为一家私营企业,总部设于美国马萨诸塞州的沃尔瑟姆.MaxMind公司成立于2002年,是领先业界的I…
这个 首先说明下.ip库是qq纯真ip库 dat文件类型 public static string QQipPath = AppDomain.CurrentDomain.BaseDirectory + "\\ipdata\\qqwry.dat";///QQ纯真ip库地址 public static string GetCity(string IP) { string ipfilePath = QQipPath; IPSearch ipSearch = new IPSearch(ipfi…
引言 在一些电商类或者引流类的网站中经常会有获取用户地理位置信息的需求,下面我分享一个用纯真IP库获取用户地理位置信息的方案. 正文 第一步:本文的方案是基于纯真IP库的,所以首先要去下载最新的纯真IP数据库:名称一般是QQWry.Dat   第二步:通过Http请求拿到访问者的IP /// <summary> /// 静态构造 设置IP位置 /// </summary> static IPAgent() { if (HttpContext.Current != null) fil…