python获取本机外网ip的方法

yizhihongxing

获取本机外网IP的方法有多种,下面我将介绍两种常用的方法。

方法一:使用第三方API

有一些第三方的IP查询接口可以用来获取本机的外网IP。其中一个常用的接口是https://api.ipify.org。你可以使用Python的requests库发送HTTP请求来获取外网IP。

首先,你需要安装requests库。在终端中运行以下命令:

pip install requests

接下来,你可以使用以下代码获取外网IP:

import requests

response = requests.get('https://api.ipify.org?format=json')
ip = response.json()['ip']
print(ip)

上述代码发送了一个GET请求到https://api.ipify.org?format=json,并解析返回的JSON数据,提取出IP地址。

方法二:解析网页内容

另一种获取外网IP的方法是解析一个显示本机IP的网页内容。一个常用的网页是http://ipinfo.io。你可以使用Python的requests库发送HTTP请求,并使用beautifulsoup4库解析HTML内容。

首先,你需要安装beautifulsoup4库。在终端中运行以下命令:

pip install beautifulsoup4

接下来,你可以使用以下代码获取外网IP:

import requests
from bs4 import BeautifulSoup

response = requests.get('http://ipinfo.io')
soup = BeautifulSoup(response.text, 'html.parser')
ip = soup.find('span', class_='ip').text
print(ip)

上述代码发送了一个GET请求到http://ipinfo.io,并使用beautifulsoup4库解析返回的HTML内容。然后,通过查找<span>标签中class属性为ip的元素,提取出IP地址。

这两种方法都可以用来获取本机的外网IP。你可以根据自己的需求选择其中一种方法来使用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python获取本机外网ip的方法 - Python技术站

(0)
上一篇 2023年7月31日
下一篇 2023年7月31日

相关文章

  • Vue2项目配置@指向src路径方式

    在Vue2项目中,@符号通常被用来指向src目录,方便我们在项目的任意位置引用相关文件。 下面是一些步骤可以在Vue2项目中配置@指向src路径: 首先,在项目的根目录下创建一个jsconfig.json文件,该文件的目的是告诉编辑器哪些路径应该被视为“根路径”。 { "compilerOptions": { "baseUrl&…

    other 2023年6月27日
    00
  • Flutter 控制屏幕旋转的实现

    Flutter 控制屏幕旋转的实现攻略 在Flutter中,可以通过使用SystemChrome类和DeviceOrientation枚举来控制屏幕的旋转。下面是实现这一功能的完整攻略。 步骤1:添加依赖 首先,在pubspec.yaml文件中添加flutter/services依赖: dependencies: flutter: sdk: flutter …

    other 2023年9月6日
    00
  • Linux文件管理使用详解

    Linux文件管理使用详解 Linux作为一种典型的多用户、多任务的UNIX操作系统,拥有强大的文件管理功能。本篇攻略将介绍Linux文件管理的基本命令以及其使用方法。 基本命令 以下是Linux文件管理的基本命令: ls ls命令用于列出目录中的文件和子目录。以下是常用的ls命令参数: -a:显示所有文件和目录,包括以.开头的隐藏文件 -l:以长格式显示文…

    other 2023年6月27日
    00
  • Python实现一个服务器监听多个客户端请求

    下面是Python实现一个服务器监听多个客户端请求的完整攻略: 1. 创建一个基于TCP协议的服务器 首先,我们需要创建一个基于TCP协议的服务器来监听客户端请求。Python提供了socket模块来处理网络通信,我们可以使用其创建一个TCP服务器。以下是创建TCP服务器的代码示例: import socket host = ‘127.0.0.1’ # 服务…

    other 2023年6月27日
    00
  • 在Docker中构建长时间运行的脚本的一些方法

    构建长时间运行的脚本是 Docker 中常见的一种场景,有些时候需要长时间运行的脚本来完成某些任务比如监控、数据分析和机器学习等。这里介绍几种在 Docker 中构建长时间运行的脚本的方法。 方法一:CMD / ENTRYPOINT 命令 可以在 Dockerfile 中使用 CMD 或 ENTRYPOINT 命令将长时间运行的脚本以进程的形式运行起来。 示…

    other 2023年6月28日
    00
  • AspNetPager分页控件源代码(Version 4.2)第1/2页

    AspNetPager分页控件源代码(Version 4.2)第1/2页的完整攻略 简介 AspNetPager是一个用于在AspNet网页中实现分页功能的控件,Version 4.2是其中的一个版本。本攻略将详细介绍AspNetPager的使用方法及其源代码解读。 安装 首先,从官方网站(例如https://github.com/JerryYangGZCN…

    other 2023年6月28日
    00
  • 微信小程序 后台登录(非微信账号)实例详解

    针对这个话题,我可以为你详细讲解一下完整攻略。 1. 什么是微信小程序后台登录? 微信小程序后台登录是指利用自己的账号和密码,通过第三方接口向微信小程序的后台服务器发送请求,从而获得后台接口的权限,并实现后台数据的读取和修改。通常情况下,我们都会采用微信提供的登录接口,但如果我们需要使用自己的账号和密码登录,我们需要进行定制化的开发。 2. 如何实现微信小程…

    other 2023年6月27日
    00
  • java基础之pdf文件的合并

    Java基础之PDF文件的合并 在Java中,我们可以使用iText库来合并PDF文件。iText是一个开源的Java PDF库,可以用于创建、修改和处理PDF文件。本攻略将介如何使用iText库来合并PDF文件。 步骤1:导入iText库 首先,我们需要在Java项目中导入iText库。可以通过Maven或手动下载jar包的方式导入iText库。以下是使用…

    other 2023年5月9日
    00
合作推广
合作推广
分享本页
返回顶部