常用开源IP库使用
常用开源P库类型
- 纯真(CZ88.NET)
- 高德地图开放平台
- 百度地图开放平台
- 谷歌的GeoLite2-City.mmdb库
常见IP库使用方式
- 基于API调用
- 基于离线库调用
纯真IP库使用
使用API调用
- 访问官方申请使用API调用token
使用离线包调用
- 关注【纯真IP实验室】公众号,在公众号中下载定期更新的离线IP库。常用代码调用方式如下。
调用示例代码
- JAVA解析程序 https://github.com/tagphi/czdb-search-java
- C语言解析程序 https://github.com/tagphi/czdb-search-c
- PHP语言解析程序 https://github.com/tagphi/czdb_searcher_php
- Node.js语言解析程序 https://github.com/limkim0530/czdb-search-node
- Python语言解析程序 https://github.com/tagphi/czdb_searcher_python
GeoLite2 IP库使用
import geoip2.database
def ip_query(ip_address):
try:
reader = geoip2.database.Reader('./GeoLite2-City.mmdb')
data = reader.city(ip_address)
print("IP Address: ", ip)
print("Country:", data.country.name)
print("Subdivisions: ", data.subdivisions.most_specific.name)
print("City: ", data.city.name)
print("Latitude: ", data.location.latitude)
print("Longitude: ", data.location.longitude)
except Exception as e:
print(e)
return
if __name__ == '__main__':
ip = '114.114.114.114'
ip_query(ip)
高德地图调用方式
- 需要去高德地图开放平台进行认证,认证通过后申请接口调用的Token,通过接口调用的方式查询IP的位置信息
百度地图调用方式
- 需要去百度地图开放平台进行认证,认证通过后申请接口调用的Token,通过接口调用的方式查询IP的位置信息
优缺点对比
- 高德地图和百度地图开放平台需要通过API进行调用,需要有网的部署环境,并且对每天的调用次数有限制
- 谷歌的GeoLite2库采用离线的调用方式,对于调用次数没有限制。但是国内的IP会有定位不准确的问题
- 纯真的IP库有API调用和离线库调用两种方式,能满足绝大多数部署场景。并且离线库会定期更新,对于国内的IP位置定位也会更精确一些
来源链接:https://www.cnblogs.com/yhch-bwcx/p/18676887
没有回复内容