利用python获取本机ip
时间: 2024-10-17 17:07:24 浏览: 38
在Python中,你可以通过多种模块来获取本机的IP地址。以下是几种常用的方法:
1. **`socket`** 模块:这个模块提供网络通信功能,可以用于查找主机名到IP的映射。例如:
```python
import socket
def get_ip():
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
# 这里使用回环地址作为目标,这样不会发送实际的数据包
s.connect(('10.255.255.255', 1)) # 或者 'localhost'
ip = s.getsockname()[0]
except Exception:
ip = "127.0.0.1" # 如果连接失败,返回本地回环地址
finally:
s.close()
return ip
print(get_ip())
```
2. **`requests`** 库(如果安装了):如果你需要获取外部网络的IP,可以使用 `requests` 获取公共API的信息。
```python
import requests
def get_public_ip():
response = requests.get('https://api.ipify.org')
return response.text.strip()
print(get_public_ip())
```
注意,由于安全性和隐私原因,直接请求外部服务器获取IP可能会受到限制或有延迟。在生产环境中,建议使用前一种方法获取本地IP。
阅读全文