如何使用Python获取当前主机的公网IP

作者:狼烟四起2024.01.05 15:07浏览量:26

简介:在Python中获取当前主机的公网IP地址可以使用外部服务或库来完成。下面是一些常见的方法,包括使用第三方API和库来获取公网IP。

获取公网IP地址的方法有多种,以下是几种常见的方法:

1. 使用外部API

使用外部API来获取公网IP地址是一种常见的方法。有许多免费和付费的API可供选择,其中一些流行的API包括:

  • ipify: 这是一个免费、开源的公网IP地址API。它可以通过HTTP请求获取IP地址。要使用ipify,你需要安装requests库并发送一个HTTP GET请求。以下是一个示例代码:
    1. import requests
    2. def get_public_ip():
    3. response = requests.get('https://api.ipify.org')
    4. if response.status_code == 200:
    5. return response.text
    6. else:
    7. return None
  • ipapi: 另一个流行的公网IP地址API,提供了更多的功能和信息。它同样可以通过HTTP请求获取IP地址。以下是一个使用ipapi的示例代码:
    1. import requests
    2. def get_public_ip():
    3. response = requests.get('https://api.ipapi.com/api/')
    4. if response.status_code == 200:
    5. return response.json()['ip']
    6. else:
    7. return None
  • ifconfig.me: 这是一个免费的公网IP地址API,可以通过HTTP请求获取IP地址。以下是一个使用ifconfig.me的示例代码:
    1. import requests
    2. def get_public_ip():
    3. response = requests.get('http://ifconfig.me/ip')
    4. if response.status_code == 200:
    5. return response.text
    6. else:
    7. return None

2. 使用第三方库

除了使用外部API,还可以使用一些第三方库来获取公网IP地址。这些库通常封装了多个外部API,以提供更方便的接口和更多的功能。以下是一些流行的第三方库:

  • python-publicip: 这是一个Python库,可以用于获取本地和远程主机的公网IP地址。它支持多种方法来获取IP地址,包括通过外部API、DNS查询和网络路由跟踪。安装和使用方法可以参考官方文档https://python-publicip.readthedocs.io/en/latest/)进行了解。
  • public-ip: 另一个Python库,可以用于获取本地和远程主机的公网IP地址。它通过调用外部API来获取IP地址,并提供了简单易用的接口。安装和使用方法可以参考官方文档(https://public-ip.readthedocs.io/en/latest/)进行了解。
  • get-public-ip: 另一个Python库,用于获取本地和远程主机的公网IP地址。它支持多种方法来获取IP地址,包括通过外部API、命令行工具和Web浏览器插件。安装和使用方法可以参考官方文档(https://get-public-ip.readthedocs.io/en/latest/)进行了解。
    1. # 使用第三方库的示例代码(以python-publicip为例)
    2. from publicip import PublicIP
    3. def get_public_ip():
    4. public_ip = PublicIP()
    5. return public_ip.ipv4() # 获取IPv4公网IP地址