引言在互联网时代,了解自己的公网IP地址对于网络编程、安全监控以及个人隐私保护等方面都具有重要意义。Python作为一种功能强大的编程语言,提供了多种获取公网IP地址的方法。本文将详细介绍几种常用的方...
在互联网时代,了解自己的公网IP地址对于网络编程、安全监控以及个人隐私保护等方面都具有重要意义。Python作为一种功能强大的编程语言,提供了多种获取公网IP地址的方法。本文将详细介绍几种常用的方法,帮助您轻松掌握Python获取公网IP地址的技巧。
Python的标准库socket提供了网络通信的功能,我们可以利用它来获取公网IP地址。
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())requests是一个常用的HTTP库,我们可以利用它来获取公网IP地址。
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())除了使用Python库,我们还可以通过访问外部API来获取公网IP地址。
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())本文介绍了三种常用的Python获取公网IP地址的方法,包括使用标准库socket、第三方库requests以及外部API。您可以根据自己的需求选择合适的方法。希望本文能帮助您轻松掌握Python获取公网IP地址的技巧。