c#-基於ip2region的離線ip定位庫

c#-基於ip2region的離線ip定位庫

在開發中,我們需要記錄關於登錄者的ip和位置信息,可以通過ip2region來實現!

最后更新 2022/7/2 上午10:01
黑哥聊dotNet
预计阅读 2 分钟
分类
.NET
标签
.NET C#

前言

在開發中,我們需要記錄關於登錄者的 ip 和位置信息,可以通過 ip2region 來實現!

比如說:

  • qq,gitee 等 我們在異地登錄時,會提醒我們帳號異地登錄!
  • 外賣等軟體,需要地理位置,如果我們的 gps 關閉,也可以根據 ip 分析地理位置等

簡介

ip2region - 準確率 99.9%的離線 ip 地址定位庫,0.0x 毫秒級查詢,ip2region.db 資料庫只有數 mb,提供了 java,php,c,python,nodejs,golang,c#等查詢綁定和 binary,b 樹,內存三種查詢算法。每條 ip 數據段都固定了格式:

使用

  • nuget 安裝
Install-Package IP2Region
  • 下載 ip2region.db
git clone https://github.com/lionsoul2014/ip2region.git

然后到 data/文件夹下面找到ip2region.db复制到项目resources

使用就很簡單了,代碼就一行

static void Main(string[] args)
{
  using (var _search = new DbSearcher(Environment.CurrentDirectory + @"\DB\ip2region.db"))
  {
   Console.WriteLine(_search.MemorySearch("183.129.193.166").Region);
   Console.Read();
  }
}

總結

文章來源於即興發揮,雖然我工作中現在還沒遇到這種需求,但是了解一下總歸是有好處的,歡迎大家留言討論!

Keep Exploring

延伸阅读

更多文章
同分类 / 同标签 2026/2/7

aot使用經驗總結

從項目創建伊始,就應養成良好的習慣,即只要添加了新功能或使用了較新的語法,就及時進行 aot 發布測試。

继续阅读