lib-qqwry是一个高效查询纯真 IP 库(qqwry.dat)的模块。它是用 NodeJS 解析纯真 IP 库(QQwry.dat) ,支持 IP 段查询。为更好的字符转化效率,未使用iconv模块,直接使用gbk编码表文件。经过不断优化,相同环境下,单次查询速度从最初的0.6毫秒提升到现在的0.004毫秒。
1.通过IP地址或有效的IP数值,搜索IP地址对应的地理位置信息。
2.搜索一个IP段的地理位置信息。
3.IP地址与数值的互转。
npm install lib-qqwry
var qqwry = require('lib-qqwry').info(); //调用并初始化,普通机器初始需要70毫秒左右; var ipL = qqwry.searchIP("202.103.102.10"); //查询IP信息 var ipLA = qqwry.searchIPScope("0.0.0.0","1.0.0.0"); //查询IP段信息
标明的"静态方法"可以值接使用,无需初始化.
初使化操作会将GBK编码表,IP库加载到内存中,以提高后续的查询效率,大概占用12M左右的内存.
dataPath : IP库路径,可选; //默认路径为data文件夹中(__dirname + "/data/qqwry.dat");
callback : 回调函数 //可在此时调用查询函数
info()的异步方法;初始化需要70毫秒,以及占用9MB左右的内存,项目资源紧张可以异步初始化。
//你可以这样 qqwry.info(); var ipL = qqwry.searchIP("202.103.102.10"); //也可以这样初始化,推荐; qqwry.infoAsync(function(){ var ipL = qqwry.searchIP("202.103.102.10"); });
info()的逆方法
IP : IP地址/IP数值反回一个JSON对像;
> qqwry.searchIP("255.255.255.255"); { ip: '255.255.255.255', Country: '纯真网络', Area: '2013年6月10日IP数据' }
beginIP : 启始IP
endIP : 结束IP
反回一个JSON对像数组;
> qqwry.searchIPScope("0.0.0.0","1.0.0.0"); [ { begIP: '0.0.0.0', endIP: '0.255.255.255', Country: 'IANA保留地址', Area: ' CZ88.NET' }, { begIP: '1.0.0.0', endIP: '1.0.0.255', Country: '澳大利亚', Area: ' CZ88.NET' } ]
searchIPScope() 的异步方法,查询结果会以第一个参数的形式传给回调函数;
DUBG模式会在控制台输出查询的关键信息,方便定位错误;
var qqwry = require('lib-qqwry').DBUG().info(); //开启调试模式并初始化 qqrry.DBUG(false); //关闭调试模式;
> qqwry.ipToInt("255.255.255.255") 4294967295
> qqwry.intToIP(4294967295) '255.255.255.255'
按32位转换参数的字节序
一些云平台的环境变量中IP信息可能是Little-Endian形式的数值;
比如百度node.js环境中的 process.env.BAE_ENV_COOKIE_IP
, 这时候就有用了;
> qqwry.ipEndianChange(0x010000FF) 4278190081 //0xFF000001
./data/qqwry.dat 默认IP库,可用最新IP库替换; 下载地址www.cz88.net
./lib/qqwry.js 解析IP库的主文件;
./lib/gbk.js GBK编码表文件,从iconv-lite中找出来的,并增加了一个转码方法;
./test/test.js 使用演示;
./test/test_v.js 效率测试示例;
node test_v.js 255.255.255.255
正常工作检查node test_v.js -1
单个查询效率测试node test_v.js -2
10次IP段查询效率测试
php精简高速ip查询免费版3.0 演示地址:http://tbip.sinaapp.com 1.IP地址查询php版,采用淘宝IP地址库,非常的精准。并且会随着淘宝IP地址库实时更新。所以您获得的数据将会是最新的。 2.此3.0核心函数代码加密 其它2.0 1.0 版本完全开源 3.define('SINA_SAE', '0'); //是否启用新浪SAE平台1为使用0为不使用 如使用新浪SAE平
QQWry 是一个php扩展,实现语言为c。这个扩展的作用,就是根据ip来获取纯真数据库(QQWry.Dat)的地址信息。经过和discuz,CoolCode两个纯php版本的对比测试,这个c实现的扩展比纯php的实现效率高6到10倍。 目前只支持PHP5版本。 安装 sudo pecl install qqwry-beta或者直接下载编译,phpize && ./configure && mak
直接上 codepen demo codepen 我希望能查询 container 元素的高度,高度超出指定高度后改变背景色但是没生效,完整代码如下 @container 兼容性一般,建议用最新版本的 chrome/safari/firefox 打开
纯真有声,是一款基于QML的移动端开源播放器,任何人都可以自由拷贝及使用其代码,对QML的初学者来说,这将会是一个学习和借鉴的最好例子。 本播放器主要是针对有声书的场景而开发,如果你有聆听有声书的习惯,将会发现它有如下几个特色功能: 1.自动记忆最近一次播放的进度。 2.可以手动保存任何一本有声书的播放进度,你可以自由在多本有声书中自由切换,而不用担心进度丢失。 3.它是一个本地播放器,没有在线听
go-qqwry 是纯真 IP 库 golang 实现版本 1. 依赖 mahonia 处理 GBK 编码的地址信息 (请确保先装好 hg) go get code.google.com/p/mahonia 纯真 IP 库 下载地址 http://update.cz88.net/soft/qqwry.rar 2. 使用 下载 go get github.com/yinheli/qqwry 在项目中
问题内容: 如何检查shell脚本中IP地址的有效性,该范围在to 的范围内? 问题答案: 如果您使用的是bash,则可以对模式进行简单的正则表达式匹配,而无需验证四边形: 如果您坚持使用POSIX Shell,则可以使用BRE而不是ERE来做基本相同的事情: 请注意,假设您的正则表达式锚定在字符串的左侧,因此不需要缩写。 如果确认每个四边形小于256很重要,那么显然您将需要更多代码: 甚至更少的