全部产品

Linux环境Python版本

更新时间:2021-03-25 10:47:38

SDK说明

基于安全和性能方面的综合考虑,IP 地址库的核心逻辑采用了 C++版 SDK 生成的动态链接库,再用 Python 对接口进行封装。

  • 因为需要配置动态链接库,所以对使用 SDK 的操作系统环境会有一定的要求。

  • SDK 中已包含了部分操作系统环境下编译成功后的动态链接库。

环境准备

  • 目前支持Linux x86_64 (64-bit)平台(Redhat/CentOS/Ubuntu)

  • 支持的 python 版本(查看版本 python -V )

python2.7.*

python3.4.*

python3.5.*

python3.6.*

python3.7.*

python3.8.*

  • Botan2安装

注意

版本要求:2.13.0或以上版本。

通过包管理工具安装:

  • centos:yum install -y botan2

通过源码安装(推荐):

wget https://github.com/randombit/botan/archive/2.13.0.tar.gz
tar -xvzf 2.13.0.tgz 
./configure.py
make
make instal

下载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 放到指定的目录,然后运行以下命令进行安装

tar -zxvf alibaba-geoip-python-sdk-{version}.tgz
cd 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查找失败,会返回空字符串