文章目录

  • 一、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')

返回结果

python 域名解析查询接口 python获取域名对应的ip_python 域名解析查询接口

二、Django获取IP

user_ip = request.META.get('REMOTE_ADDR')