首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[教程]轻松掌握Python获取公网IP地址的秘籍

发布于 2025-06-22 11:57:26
0
986

引言在互联网时代,了解自己的公网IP地址对于网络编程、安全监控以及个人隐私保护等方面都具有重要意义。Python作为一种功能强大的编程语言,提供了多种获取公网IP地址的方法。本文将详细介绍几种常用的方...

引言

在互联网时代,了解自己的公网IP地址对于网络编程、安全监控以及个人隐私保护等方面都具有重要意义。Python作为一种功能强大的编程语言,提供了多种获取公网IP地址的方法。本文将详细介绍几种常用的方法,帮助您轻松掌握Python获取公网IP地址的技巧。

一、使用标准库socket获取公网IP地址

Python的标准库socket提供了网络通信的功能,我们可以利用它来获取公网IP地址。

1.1 基本用法

import socket
def get_public_ip(): try: # 创建一个socket对象 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 设置socket选项,允许绑定已经连接的端口 s.connect(('8.8.8.8', 80)) # 获取公网IP地址 ip = s.getsockname()[0] s.close() return ip except Exception as e: print("获取公网IP地址失败:", e) return None
print("公网IP地址:", get_public_ip())

1.2 优缺点

  • 优点:简单易用,无需安装第三方库。
  • 缺点:可能受到网络配置的影响,返回的不是真实的公网IP地址。

二、使用第三方库requests获取公网IP地址

requests是一个常用的HTTP库,我们可以利用它来获取公网IP地址。

2.1 基本用法

import requests
def get_public_ip(): try: # 发送GET请求到ipinfo.io API response = requests.get('https://ipinfo.io/json') # 解析JSON数据 data = response.json() # 获取公网IP地址 ip = data['ip'] return ip except Exception as e: print("获取公网IP地址失败:", e) return None
print("公网IP地址:", get_public_ip())

2.2 优缺点

  • 优点:方便快捷,返回的数据格式清晰。
  • 缺点:需要安装requests库。

三、使用外部API获取公网IP地址

除了使用Python库,我们还可以通过访问外部API来获取公网IP地址。

3.1 基本用法

import requests
def get_public_ip(): try: # 发送GET请求到ipify API response = requests.get('https://api.ipify.org?format=json') # 解析JSON数据 data = response.json() # 获取公网IP地址 ip = data['ip'] return ip except Exception as e: print("获取公网IP地址失败:", e) return None
print("公网IP地址:", get_public_ip())

3.2 优缺点

  • 优点:无需安装Python库,方便快捷。
  • 缺点:可能受到API服务商的限制。

总结

本文介绍了三种常用的Python获取公网IP地址的方法,包括使用标准库socket、第三方库requests以及外部API。您可以根据自己的需求选择合适的方法。希望本文能帮助您轻松掌握Python获取公网IP地址的技巧。

评论
一个月内的热帖推荐
csdn大佬
Lv.1普通用户

452398

帖子

22

小组

841

积分

赞助商广告
站长交流