跳转到主要内容

ipify的官方客户端库:一个简单的IP地址API。

项目描述

ipify的官方客户端库:一个简单的IP地址API。

python-ipify Release python-ipify Downloads python-ipify Build https://coveralls.io/repos/rdegges/python-ipify/badge.svg?branch=master

元数据

目的

ipify是互联网上最好的IP地址查找服务。它快速、简单、可扩展、开源,且资金充足(由我提供!)。

简而言之:如果您需要一种获取公网IP地址的方法,ipify是最佳选择!

此库将从ipify的API服务中检索您的公网IP地址,并以字符串形式返回。它不能再简单了。

此库还有一些您可能关心的其他优秀功能

  • 如果由于任何原因请求失败,它将使用指数退避算法重试3次,以实现最大效果。

  • 此库正确处理异常,下面的使用示例展示了如何以万无一失的方式处理错误。

  • 本库仅通过HTTPS进行API请求。

安装

要安装ipify,只需运行

$ pip install ipify

这将自动安装库的最新版本。

用法

使用此库非常简单。这里有一个简单的示例

>>> from ipify import get_ip
>>> ip = get_ip()
>>> ip
u'96.41.136.144'

至于异常处理,有几种方式可能导致失败

  • ipify服务已关闭(不太可能),或者

  • 由于某种类型的网络错误(DNS、无互联网等),您的机器无法获取到ipify的请求。

以下是如何处理所有这些边缘情况的方法

from ipify import get_ip
from ipify.exceptions import ConnectionError, ServiceError

try:
    ip = get_ip()
except ConnectionError:
    # If you get here, it means you were unable to reach the ipify service,
    # most likely because of a network error on your end.
except ServiceError:
    # If you get here, it means ipify is having issues, so the request
    # couldn't be completed :(
except:
    # Something else happened (non-ipify related). Maybe you hit CTRL-C
    # while the program was running, the kernel is killing your process, or
    # something else all together.

如果您想简化上述错误处理,也可以这样做(它会捕获任何类型的ipify相关错误,无论它们是什么类型

from ipify import get_ip
from ipify.exceptions import IpifyException

try:
    ip = get_ip()
except IpifyException:
    # If you get here, then some ipify exception occurred.
except:
    # If you get here, some non-ipify related exception occurred.

需要注意的一点:无论您如何决定处理异常,ipify库在引发异常之前都会重试任何失败的请求3次——所以如果您需要处理异常,请记住已经尝试了重试逻辑。

贡献

这个项目之所以能够实现,归功于那些为它付出努力的出色贡献者!

如果您想改进这个库,请向我发送拉取请求!我很乐意审查并合并拉取请求。

标准的贡献工作流程应大致如下

  • 在Github上分叉此项目。

  • 在master分支中做一些更改(此项目很简单,所以没有必要使事情复杂化)。

  • 准备好后发送拉取请求。

此外,如果您正在做更改,请为您的更改编写测试用例——本项目有一个完整的测试套件,您可以轻松修改/测试。

要运行测试套件,可以使用以下命令

$ pip install -e .
$ pip install -r requirements.txt
$ python manage.py test

变更日志

按降序排列的所有库更改。

版本1.0.0

发布于2015年5月6日。

  • 首次发布!

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

ipify-1.0.0.tar.gz (7.2 kB 查看哈希

上传时间:

构建分发

ipify-1.0.0-py2.py3-none-any.whl (8.9 kB 查看哈希

上传时间: Python 2 Python 3

支持