架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 46651|回复: 11

[控制台程序] .net/c# 使用GeoLite2 IP数据库获取地址

[复制链接]
发表于 2018-5-20 14:22:35 | 显示全部楼层 |阅读模式
介绍

GeoLite2 数据库是一个免费的 IP 地理定位数据库,与 MaxMind 的 GeoIP2 数据库有一定可比性,但不如后者准确。GeoLite2 Country 与 City 数据库在每月的第一个周二更新。GeoLite2 ASN 数据库的更新时间为每周二。

我们做开发的时候,用户注册或者登陆的时候,都可以获取ip地址,我们想知道该ip属于哪个城市,我们可以通过城市来统计分析用户,这时,ip数据库就显得非常重要了!

网址:https://dev.maxmind.com/zh-hans/geoip/geoip2/geolite2/

使用

我们首先从官网上面下载GeoLite2 City和GeoLite2 Country,前者包含城市,后者不包含城市,只能通过ip获取到归属的国家。

如何用c#调用呢?首先创建.net 4.5的项目,然后用nuget执行如下命令:



这个库使用.NETFramework 4.5版和以上和.NET标准1.4或以上。


安装完成以后,把“GeoLite2-City.mmdb”文件记得拷贝到程序的bin目录下面!!!

执行如下代码:

结果如下:

https://www.itsvse.com by:小渣渣 输入ip地址为:47.94.71.45

city                {"geoname_id":1808926,"names":{"de":"Hangzhou","en":"Hangzhou","es":"Hangzhou","fr":"Hangzhou","ja":"杭州市","pt-BR":"Hangzhou","ru":"Ханчжоу","zh-CN":"杭州"}}

continent           {"code":"AS","geoname_id":6255147,"names":{"de":"Asien","en":"Asia","es":"Asia","fr":"Asie","ja":"アジア","pt-BR":"ásia","ru":"Азия","zh-CN":"亚洲"}}

country             {"geoname_id":1814991,"iso_code":"CN","names":{"de":"China","en":"China","es":"China","fr":"Chine","ja":"中国","pt-BR":"China","ru":"Китай","zh-CN":"中国"}}

locatio{过滤}n            {"accuracy_radius":50,"latitude":30.2936,"longitude":120.1614,"time_zone":"Asia/Shanghai"}

registered_country  {"geoname_id":1814991,"iso_code":"CN","names":{"de":"China","en":"China","es":"China","fr":"Chine","ja":"中国","pt-BR":"China","ru":"Китай","zh-CN":"中国"}}

subdivisions        [{"geoname_id":1784764,"iso_code":"ZJ","names":{"en":"Zhejiang","fr":"Province de Zhejiang","zh-CN":"浙江省"}}]

请按任意键继续. . .



我们查询了3个ip地址,一个是百度的ip地址,一个是本机的外网ip地址,还有一个是本网站的ip地址。如下图:

QQ截图20180520140436.jpg QQ截图20180520140537.jpg QQ截图20180520140719.jpg

只有我们本站的ip查询出来是不准确的,ip数据库不可能做到100%准确,因为ip每天都能在变化,在分配到不同的城市。

GeoIP2 City 准确性

https://www.maxmind.com/zh/geoip2-city-accuracy-comparison

QQ截图20180520141851.jpg

最后,附上源代码:

游客,如果您要查看本帖隐藏内容请回复






上一篇:借权实现无认证号静默微信登录DISCUZ
下一篇:分享一款单APP宣传页码源,自适应的,非常美观大方!
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2023-5-10 19:52:12 | 显示全部楼层
【实战】.NET/C# 离线 IP 地址(归属地)定位库
https://www.itsvse.com/thread-10585-1-1.html
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2018-8-6 18:03:30 | 显示全部楼层
很好很好很好很好很好很好很好
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2018-8-19 09:48:08 | 显示全部楼层
学习了,感谢分享,感谢分享,
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2018-5-21 18:05:54 | 显示全部楼层
感谢分享。
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2018-7-1 10:02:12 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2018-7-25 09:51:57 | 显示全部楼层
非常好的东东
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2019-5-23 13:41:26 | 显示全部楼层
+1+1+1+1+1+1+1+1+1+1
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2021-4-19 17:18:59 | 显示全部楼层

感谢分享。
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2021-7-5 20:21:49 | 显示全部楼层
感谢分享。
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2022-4-6 17:37:44 | 显示全部楼层
真不错
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

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

Mail To:help@itsvse.com

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

GMT+8, 2024-4-20 16:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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