在Python中获取IP地址可以通过以下几种方法:
1. 使用`socket`库:
import socket
获取本地IP地址
localIP = socket.gethostbyname(socket.gethostname())
print("本地IP:", localIP)
获取外网IP地址
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("8.8.8.8", 80))
ip_address = s.getsockname()
s.close()
print("外网IP:", ip_address)
2. 使用第三方库`netifaces`:
import netifaces
获取所有网络接口的IP地址
for interface in netifaces.interfaces():
addresses = netifaces.ifaddresses(interface)
for address in addresses:
if address['family'] == netifaces.AF_INET and address['addr'] != '127.0.0.1':
print("接口:", interface, "IP:", address['addr'])
3. 使用外部服务API获取公网IP地址:
import requests
获取公网IP地址
res = requests.get("https://api.ipify.org", timeout=5).text
print("公网IP:", res)
4. 使用外部服务API获取内网IP地址(例如通过HTTP请求到特定服务):
import requests
获取内网IP地址
res = requests.get("http://ifconfig.me/ip", timeout=1).text.strip()
print("内网IP:", res)
以上方法可以帮助你获取到本地和外网IP地址。请选择适合你需求的方法进行尝试
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/117093.html