Windows环境Python版本
目前该产品在做内部调整,不支持新购、续费、升级等操作,订单有效期内可继续正常使用,本文档仅供订单期内用户参考。请留意服务到期时间,做好备选方案,感谢您的支持理解。
SDK说明
基于安全和性能方面的综合考虑,IP 地址库的核心逻辑采用了 C++版 SDK 生成的动态链接库,再用 Python 对接口进行封装。
因为需要配置动态链接库,所以对使用 SDK 的操作系统环境会有一定的要求。
SDK 中已包含了部分操作系统环境下编译成功后的动态链接库。
环境准备
以下代码在Windows 10 、Visual Studio 2019、python3.5 编译测试通过
目前支持Windows x86_64 (64-bit)平台
支持的 python 版本(查看版本 python -V )
python2.7.*
python3.4.*
python3.5.*
python3.6.*
python3.7.*
python3.8.*
为了方便演示SDK的使用,Windows版本提供了编译后的 C++ 动态链接库 botan.dll、botan.lib,默认情况下可以直接进行测试
如果编译了Botan2其它版本,需要替换Python安装目录文件。
替换 C:\Python35\Lib\site-packages\alibaba_geoip_python_sdk-1.1-py3.5.egg\geoipclient\lib\win 目录中的botan.dll和botan.lib
下载SDK
如已购买IP地理位置库(离线版)商品,可进入实例详情,下载以下三个文件
离线数据库(通常是**.dex)
授权证书文件(通常是 **.lic)
Python语言SDK(通常是 alibaba-geoip-python-sdk-{version}.tgz)
{version} 代表SDK版本例如:alibaba-geoip-python-sdk-1.0.tgz
续费、升级商品套餐一定要同步更新license证书文件,如果license证书过期,则SDK会直接不可用。
安装SDK
将下载的alibaba-geoip-python-sdk-{version}.tgz 放到指定的目录,然后运行以下命令进行安装
解压文件 alibaba-geoip-python-sdk-{version}.tgz
进入目录 alibaba-geoip-python-sdk-{version}
执行命令 python setup.py install
因为安装后 SDK 等于集成到了python Lib 标准库,所以 alibaba-geoip-python-sdk-{version} 文件夹可以删掉。
快速入门
下面以查询某个IPV4地址为例演示如何使用:
目录结构如下
from geoipclient import GeoIpClient
import os
current_file_dir = os.path.abspath(os.path.dirname(__file__))
# license file path
LICENSE_FILE_PATH = os.path.join(current_file_dir, 'data', 'license-ipv4.lic')
# ipdata file path
IPDATA_FILE_PATH = os.path.join(current_file_dir, 'data', 'license-ipv4.dex')
client = GeoIpClient(LICENSE_FILE_PATH, IPDATA_FILE_PATH)
print('init finish')
print(client.search('47.116.2.4'))
client.close()
附件
properties
字段含义:
字段 | 含义 | 示例值 |
---|---|---|
country | 国家(或地区)中文 | 中国 |
country_code | 国家(或地区)两位字母 | CN |
country_en | 国家(或地区)英文 | China |
province | 省(二级)中文 | 黑龙江省 |
province_code | 省(二级)数字代码 | 230000 |
province_en | 省(二级)英文/拼音 | Heilongjiang |
city | 市(三级)中文 | 牡丹江市 |
city_code | 市(三级)数字代码 | 231000 |
city_en | 市(三级)英文/拼音 | Mudanjiang |
county | 区(四级)中文 | 阳明区 |
county_code | 区(四级)数字代码 | 231003 |
isp | 运营商 | 中国联通 |
isp_code | 运营商数字代码 | 100026 |
routes | 运营商线路 | 中国联通 |
longitude | 经度 | 129.634645 |
latitude | 纬度 | 44.596328 |
异常处理
出现异常会通过geoipclient.GeoIpException抛出
一般是文件路径异常,离线数据错误异常
ip查找失败,会返回空字符串
- 本页导读