文档

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

lib

下载SDK

如已购买IP地理位置库(离线版)商品,可进入实例详情,下载以下三个文件

  1. 离线数据库(通常是**.dex)

  2. 授权证书文件(通常是 **.lic)

  3. Python语言SDK(通常是 alibaba-geoip-python-sdk-{version}.tgz)

  4. {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地址为例演示如何使用:

目录结构如下

example.py
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查找失败,会返回空字符串

  • 本页导读
文档反馈