日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

lib-qqwry v1.0 发布 nodejs解析纯真IP库(qqwry.dat)

發布時間:2023/12/13 综合教程 32 生活家
生活随笔 收集整理的這篇文章主要介紹了 lib-qqwry v1.0 发布 nodejs解析纯真IP库(qqwry.dat) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

lib-qqwry是當初學習node時用來練手的一個模塊,用來解析純真IP庫的

現在發一個v1.0版本彌補我當時稚嫩的代碼.

意外收獲是,整理代碼后發現,相比v0.x版本 急速模式下的效率提升大概20%;

但 v1.0 相比 v0.x 有很大改動,并不兼容之前的版本,所以升級碰到問題的同學需要好好了解一下.

1.初始化

v0.x

初使化的初衷是讓用戶可以使用指定版本的IP庫文件, 在最合適的時候把IP庫加載到內存中進行高速查詢;

v1.0

v1.0改變了程序結構,實現方式; 不將IP庫加載到內存也可進行查詢,只是效率相對較差(ssd大概10倍,HHD大概五十倍以上,主要看硬盤)

v1.0的初始化方法為libqqwry.init(speed,dataPath) speed 參數為是否開啟急速模式(就是加載IP庫到內存),dataPath參數可以指定IP庫;

其實質為實例化一個Qqwry類,所以要賦值給一個變量:

var libqqwry = require('lib-qqwry');
var qqwry = libqqwry.init(); //使用默認IP庫,未開啟急速模式的解析器。
// var qqwry = libqqwry(); //可以這樣初始化,好上一行代碼功能一樣 var qqwry1 = libqqwry.init(true,"/data/qqwry.dat"); //使用指定IP庫,并開啟急速模式的解析器。

2.查詢

查詢人API基本沒變,v1.0 去掉了searchIPScopeAsync 整合到了searchIPScope(beginIP,endIP,callback) 形式;

不傳callback為同步查詢,傳了就變為異步查詢,CPS風格;

要注意的是 callback 變為了標準CPS風格,第一個參數為錯誤,

v0.x searchIPScopeAsync(beginIP,endIP,callback) , callback(data)

v1.0 searchIPScope(beginIP,endIP,callback) , callback(err,data)

完整的demo:

var libqqwry = require('lib-qqwry');
var qqwry = libqqwry.init();
qqwry.speed(); //若初始化時沒有啟用急速模式,可以這樣啟用;
var ip1 = qqwry.searchIP("202.103.102.10"); //查詢IP信息
var ips = qqwry.searchIPScope("0.0.0.0","1.0.0.0");  //查詢IP段信息
//異步查詢IP段信息
qqwry.searchIPScope("0.0.0.0","1.0.0.0",function(err,iparr){
  console.log(iparr);
});

更詳細改動請移步項目主頁:https://github.com/cnwhy/lib-qqwry

總結

以上是生活随笔為你收集整理的lib-qqwry v1.0 发布 nodejs解析纯真IP库(qqwry.dat)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。