小编典典

如何使用python2.7获取公共IP?

python

如何使用python2.7获取公共IP?不是私有IP。


阅读 271

收藏
2020-12-20

共1个答案

小编典典

当前有几种选择:

以下是可以利用上述每种方法的确切方法。

ip.42.pl

from urllib2 import urlopen
my_ip = urlopen('http://ip.42.pl/raw').read()

这是我找到的第一个选项。对于脚本来说非常方便,您不需要在这里进行JSON解析。

jsonip.com

from json import load
from urllib2 import urlopen

my_ip = load(urlopen('http://jsonip.com'))['ip']

似乎该域的唯一目的是返回JSON中的IP地址。

httpbin.org

from json import load
from urllib2 import urlopen

my_ip = load(urlopen('http://httpbin.org/ip'))['origin']

我经常建议初级开发人员使用httpbin.org服务来测试其脚本/应用程序。

ipify.org

from json import load
from urllib2 import urlopen

my_ip = load(urlopen('https://api.ipify.org/?format=json'))['ip']

这项服务的强大性来自于没有限制(没有速率限制),基础架构(放在Heroku上,考虑到高可用性)和灵活性(适用于IPv4和IPv6)。

编辑 :将httpbin.org添加到可用选项列表中。

编辑 :感谢kert的注释,添加了ipify.org

2020-12-20