需求描述:当项目中需要将IP转换成对应的归属地以及运营商,那么通过ip2region组件即可完美实现。
p2region本身支持net4.5以上,还有个ip2region.net组件,它要求net6及以上。所以,根据自己项目的需求即可选择其中一种方式。
第一种:IP2Region:
using (DbSearcher search = new DbSearcher(Environment.CurrentDirectory + @"\Lib\ip2region.db"))
{
IP2Region.Models.DataBlock ipModel = search.MemorySearch("27.17.247.121");
string ipRegion = ipModel.Region;
}
第二种:IP2Region.Net:
ISearcher searcher = new Searcher(new CachePolicy(), Environment.CurrentDirectory + @"\Lib\ip2region.xdb");
string ipRegion = searcher.Search("27.17.247.121") ?? string.Empty;
Program.cs
//注入ip2region所需服务
services.AddSingleton<ISearcher>(new Searcher(new CachePolicy(), Environment.CurrentDirectory + @"\Lib\ip2region.xdb"));
PS:下载ip2region离线文件还有2种方式:
第一种:
第二种: