文章目录
- 一、python获取IP
- 二、Django获取IP
一、python获取IP
import socket
from urllib.request import urlopen
# 公网地址
def public():
with urlopen(r'http://ip.42.pl/raw') as fd:
f = fd.read().decode()
print(f)
# 私网,socket方法
def private():
print('当前主机名称为 : ' + socket.gethostname())
print('当前主机的IP为: ' + socket.gethostbyname(socket.gethostname()))
# Mac下上述方法均返回127.0.0.1,通过使用socket中的getaddrinfo中的函数获取真真的IP
# 下方代码为获取当前主机IPV4 和IPV6的所有IP地址(所有系统均通用)
addrs = socket.getaddrinfo(socket.gethostname(), None)
for item in addrs:
print(item)
# 由传入的域名获取IP地址
def get_ip(ip):
data = socket.gethostbyname(ip)
print(data)
if __name__ == '__main__':
private()
print('-----------------------------------------')
public()
print('-----------------------------------------')
get_ip('baidu.com')
返回结果
二、Django获取IP
user_ip = request.META.get('REMOTE_ADDR')