python获取当前上网IP地址的几种方法

Python与SEO 思享 212浏览

在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]

问题解决
如果想其他方式实现,可以自行搜索一下就有了

推荐阅读

win10系统安装软件错误”The installer has encountered an unexpected error…error code is 2503″

在Windows10系统中,错误“安装程序在安装此软件包时遇到意外错误。这可能表明包装有问题。错误代码是2503。安装python3.8.9时报告了。安装程序在安装此软件包时遇到了意外错误。这可能表明行李有问题。...

python报错requests.exceptions.ConnectionError

http连接数超过了最大限制。默认情况下,连接是保持活动的,因此服务器保持太多的连接以至于无法创建新的连接。请求速度太快。...

python列表格式的字符串如何转换成PHP数组

转换成php数组 $str = '["seo "、" seo网站查询"、" seo网站优化"、" seo网站推广"、"广州seo "、"首尔是哪个城市"、" seo网站如何推广"、" seo全称"、" seo平台"、" seo术语解释"]';...