在Python中,你可以使用`socket`模块来获取本地IP地址,以及使用第三方库如`requests`来获取外网IP地址。以下是获取本地和外网IP地址的示例代码:
获取本地IP地址
import socket
def get_local_ip():
hostname = socket.gethostname()
local_ip = socket.gethostbyname(hostname)
return local_ip
print("本地IP地址为:", get_local_ip())
获取外网IP地址
import requests
def get_external_ip():
try:
response = requests.get('http://1212.ip138.com/ic.asp')
response.raise_for_status()
ip = response.text.split('[').split(']')
return ip
except:
return "无法获取外网IP地址"
print("外网IP地址为:", get_external_ip())
请注意,这些方法获取的IP地址可能会受到网络配置等因素的影响。如果你需要获取本机所有IP地址,可以使用`netifaces`库:
import netifaces
def get_all_ips():
ips = []
exclude_iface = ['lo']
interfaces = netifaces.interfaces()
for iface in interfaces:
if iface not in exclude_iface:
if netifaces.AF_INET in netifaces.ifaddresses(iface):
for addr in netifaces.ifaddresses(iface)[netifaces.AF_INET]:
if not addr['addr'].startswith('127.'):
ips.append(addr['addr'])
return ips
print("所有IP地址为:", get_all_ips())
这些代码示例应该可以帮助你获取本地和外网IP地址。