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

Python与SEO 思享 728浏览

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

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

推荐阅读

Python实现聚合问答采集文章

最近在一个社区得到了一个用python聚合问答的工具,但是因为已经打包成程序了,所以无法研究,于是在网上找了一个网友分享的源代码,转载于此,供志愿者学习和后期扩展。这个工具可以通过头条搜索、百度下拉结果、搜狗下拉、百度知道搜索、新浪爱问、搜狗问问,将......

pycharm怎么用国内镜像安装第三方库

1、在pycharm中打开Terminal,如下图。 2、以安装pymysql库为例,输入以下命令回车即可使用镜像安装。 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pymysql ......

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

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