python从请求中获取IP、浏览器信息、设备信息、操作系统信息

python从请求中获取IP、浏览器信息、设备信息、操作系统信息


from user_agents import parse


def get_request_message(request):
    if request.method == "GET":
        # 获取IP
        x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')  # 判断是否使用代理

        if x_forwarded_for:
            ip = x_forwarded_for.split(',')[0]  # 使用代理获取真实的ip
        else:
            ip = request.META.get('REMOTE_ADDR')  # 未使用代理获取IP
        user_agent = request.headers.get('User-Agent')
        user_agent = parse(user_agent)

        # 获取浏览器信息
        browser_data = user_agent.browser
        browser = f"{browser_data.family}" + "(" + f"{browser_data.version_string}" + ")"
        # print(f"Browser: {browser_data.family}, Version: {browser_data.version_string}")

        # 获取设备信息
        device_data = user_agent.device
        device = f"{device_data.family}" + " " + f"{device_data.brand}" + "(" + f"{device_data.model}" + ")"
        # print(f"Device: {device_data.family}, Model: {device_data.model}, Brand: {device_data.brand}")
        # device = device_data['Device'].family

        # 获取操作系统信息
        operating_system_data = user_agent.os
        # print(f"OS: {operating_system_data.family}, Version: {operating_system_data.version_string}")
        operating_system = f"{operating_system_data.family}" + " " + f"{operating_system_data.version_string}"

        print("IP:", ip,"浏览器信息:", browser, "设备信息:", device, "操作系统信息:", operating_system)
        return HttpResponse(json.dumps(response_message(200, 'success')),
                            content_type="application/json")
    else:
        return HttpResponse(json.dumps(response_message(40001, 'error request method')),
                            content_type="application/json")

从浏览器请求:
在这里插入图片描述
请求结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值