在python使用场景中,有时候需要获取当前网络IP来实现一些功能。那么,如何用python来实现这个功能呢?下面,来讲讲我是怎么实现的。
通过访问IP网站获取
之前我一直用的获取的IP网站是
http://httpbin.org/ip
但是,今晚发现这个网站打开很慢,甚至出现504的问题。我是需要验证IP才进行下一步程序的执行的,这样也就让程序卡在了这一步
于是网站找了一下python获取IP的几种方式,其中有使用专用网站、使用自带socket库、使用第三方netifaces库三种。其中,第二种获取的是局域网的IP地址,而第三方库需要安装,还是回归到第一种方法,于是,我们可以通过两个网站结合的方式,来确保功能的实现。总不可能两个网站都挂了吧~
实现代码
from urllib.request import urlopen from json import load import requests try: ip = load(urlopen('http://httpbin.org/ip', timeout=2))['origin'] except: ip_text = requests.get('http://myip.ipip.net', timeout=2).text ip = ip_text.lstrip("当前 IP:").split(" ")[0]
问题解决
如果想其他方式实现,可以自行搜索一下就有了
转载请注明:思享SEO博客 » python获取当前上网IP地址的几种方法