前言
在開發中,我們需要記錄關於登錄者的 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 數據段都固定了格式:
- 城市 id|國家|區域|省份|城市|isp_
- github 地址:https://github.com/lionsoul2014/ip2region
使用
- 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();
}
}
總結
文章來源於即興發揮,雖然我工作中現在還沒遇到這種需求,但是了解一下總歸是有好處的,歡迎大家留言討論!