首页 > 解决方案 > 如何检测在应用程序中使用节点 api 的移动设备

问题描述

API在我的移动应用程序中使用 express。当通过移动浏览器测试 API 时,快递服务器检测到移动(使用用户代理) ,但问题出在应用程序上。每当我从移动应用程序发出 API 请求时,user-agent标头只有okhttp/3.12.1.

在我的情况下,我将如何检测移动设备?

可能有其他解决方案user-agent

请帮忙。

标签: androidnode.jsexpresskotlin

解决方案


如果我理解正确,您正在使用 React-Native 开发您的移动应用程序。“okhttp/3.12.1”是 RN 的正确用户代理。只需检查用户代理是否为“okhttp/3.12.1”即​​可识别您自己的移动应用程序。

此外,您可能需要识别移动浏览器。

我使用类似的东西:

mobile_browser_user_agent_sign_list = "Android", "iPhone", "Opera Mini", "Windows Phone", "Mobile Safari"


def is_mobile_device(user_agent):
    if "okhttp" in user_agent:
        return True
    for sign_item in mobile_browser_user_agent_sign_list:
        if sign_item in user_agent:
            return True
    return False

推荐阅读