当前有几种选择:
from urllib2 import urlopen
my_ip = urlopen('http://ip.42.pl/raw').read()
这是我找到的第一个选项。对于脚本来说非常方便,您不需要在这里进行JSON解析。
from json import load
from urllib2 import urlopen
my_ip = load(urlopen('http://jsonip.com'))['ip']
似乎该域的唯一目的是返回JSON中的IP地址。
from json import load
from urllib2 import urlopen
my_ip = load(urlopen('http://httpbin.org/ip'))['origin']
我经常建议初级开发人员使用httpbin.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添加到可用选项列表中。