常用开源IP库使用

常用开源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

请登录后发表评论

    没有回复内容