架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1629|回复: 4

[技巧] 【实战】.NET/C# 离线 IP 地址(归属地)定位库

[复制链接]
发表于 2023-5-10 19:49:52 | 显示全部楼层 |阅读模式
需求:现在很多网站的评论区都可以显示作者的归属地址,也就是该作者发表评估的 IP 归属地址,通过 IP 查询地址,一般有两种方式,一种是本地定期更新 IP 地址库,另一种是调一些 API 接口(免费或者付费的)。

之前写过使用 GeoLite2 离线查询 IP 地址,现在好像已经收费了,如下:

.net/c# 使用GeoLite2 IP数据库获取地址
https://www.itsvse.com/thread-4782-1-1.html

当然,还有一些免费的 IP 库(纯真免费IP库https://www.cz88.net/help?id=free

本文使用 ip2region 数据库来实现通过 IP 查询地址,ip2region v2.0 - 是一个离线IP地址定位库和IP定位数据管理框架,10微秒级别的查询效率,提供了众多主流编程语言的 xdb 数据生成和查询客户端实现。

GitHub 地址:https://github.com/lionsoul2014/ip2region

每个ip数据段的区域信息都固定了格式:国家|区域|省份|城市|ISP,只有中国的数据绝大部分细分确实到了城市,其他国家数据只能定位到国家,后前面的选项全部为0。

首先,下载“ip2region.xdb”文件,地址:https://github.com/lionsoul2014/ip2region/blob/master/data/ip2region.xdb

新建一个 .NET 6 的控制台应用,使用 nuget 引入别人写好的类库,命令如下:

代码如下:

QQ截图20230510194625.jpg
中国|0|上海|上海市|移动

如果是 ASP.NET Core 网站,可以使用如下代码注册服务:


其中构造函数中 CachePolicy 有三种配置,如下:

namespace IP2Region.Net.XDB;

public enum CachePolicy
{
    /// <summary>
    /// no cache , not thread safe!
    /// </summary>
    File,
    /// <summary>
    /// cache vector index , reduce the number of IO operations , not thread safe!
    /// </summary>
    VectorIndex,
    /// <summary>
    /// default cache policy , cache whole xdb file , thread safe
    /// </summary>
    Content
}

(完)




上一篇:.NET Core 高性能队列 Channels 使用
下一篇:【转】百人研发团队百亿销售规模的技术架构实践分享
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2023-5-10 19:51:57 | 显示全部楼层
附上 ip2region.xdb 文件:


ip2region.zip (4.17 MB, 下载次数: 0, 售价: 2 粒MB)
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2023-5-10 20:15:15 | 显示全部楼层
HTTP 请求头中 X-Forwarded-For 多个 IP 地址
https://www.itsvse.com/thread-9654-1-1.html
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2023-5-10 20:34:41 | 显示全部楼层
学习学习
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2023-5-24 09:07:37 | 显示全部楼层
學習學習!!
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-18 15:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表