推薦一款高效精準的離線 ip 地址庫 - ipregion

百劍閣 發佈 2022-05-17T09:54:35.631704+00:00

近期,全網關於顯示 ip 屬地的功能討論比較熱烈,聽說讓一些營銷號、博主現出了原型。1ipregion 提供了多種語言集成,C# 通過 nuget 安裝即可。

近期,全網關於顯示 ip 屬地的功能討論比較熱烈,聽說讓一些營銷號、博主現出了原型。作為一群被稱為碼農的技術人員,大大小小的產品經理、老闆們肯定又安排任務下來,頭髮又要少幾根了,今天我們就緊跟熱點推薦一款離線的 ip 地址庫 ipregion,希望能夠有用。

ipregion 簡介

ip2region 是一款開源的離線IP位址定位庫,據項目官方說聚合了淘寶(ip.taobao.com)、GeoIP、純真 ip 庫的數據,達到了驚人的 99.99%的準確率。同時查詢也非常快,達到了0.0x毫秒級別。資料庫大小嘛,數MB,最小版本1.5MB,提供了java,php,c,python,nodejs,golang,c#等語言的查詢綁定。

數據格式

每條ip數據段都固定了格式:國家|區域|省份|城市|IS。遺憾的是,目前只有國內數據比較完備,其他國家有部分數據只能定位到國家,無法定位到城市。

需要注意的事項

ip2region重點在於研究IP數據的存儲設計和各種語言的查詢實現,並沒有原始IP數據的支撐,數據來源主要是上面提到過的淘寶等數據源,如果上述開放API或者數據都不給開放數據時ip2region將停止數據的更新服務。

安裝使用

1ipregion 提供了多種語言集成,C# 通過 nuget 安裝即可。

Install-Package IP2Region

2.下載最新版本的 ip2region.db 資料庫文件到項目

3.使用以下方法進行查詢。

using (var _search = new DbSearcher(Environment.CurrentDirectory + @"\DB\ip2region.db"))
{
    _search.MemorySearch("183.192.62.65").Region;
    _search.BinarySearch("183.192.62.65").Region;
    _search.BtreeSearch("183.192.62.65").Region;
}

項目地址:項目在 Github 開源, 在Github 搜索 ip2region 即可。

關鍵字: