Java 识别请求来自移动端还是电脑端

简介: Java 识别请求来自移动端还是电脑端

代码:


/**
 * @Author : JCccc
 * @CreateTime : 2020/7/1
 * @Description :
 **/
public class DiscernRequestUtil {
    /**
     * 识别请求是 手机端(分系统) 还是电脑端
     * @param userAgent
     * @return
     */
    public static String getRequestDevice(String userAgent) {
        userAgent=userAgent.toLowerCase();
        if (userAgent.contains("windows phone")){
            return  "Windows手机端";
        }else if (userAgent.contains("android")) {
            return  "安卓手机端";
        }else if(userAgent.contains("iphone") || userAgent.contains("ipad")){
            return  "ios手机端";
        }else {
            return  "电脑端";
        }
    }
    /**
     * 识别请求是手机端还是电脑端
     * @param userAgent
     * @return
     */
    public static String getAskType(String userAgent) {
        userAgent=userAgent.toLowerCase();
        if (userAgent.contains("windows phone")
                ||
                userAgent.contains("android")
                ||
                userAgent.contains("iphone")
                ||
                userAgent.contains("ipad") //暂且把ipad也归为苹果设备
        ){
            return  "mobile";
        }else {
            return  "pc";
        }
    }
}


接口测试&使用方式:


就是从HttpServletRequest request 的头里拿出 user-agent 这个key的值做识别处理。


    @GetMapping("doSomeTest")
    public void doSomeTest(HttpServletRequest request){
        String userAgent  = request.getHeader("user-agent");
        String requestDevice = getRequestDevice(userAgent);
        System.out.println(requestDevice);
        String askType = getAskType(userAgent);
        System.out.println(askType);
    }


image.png

相关文章
|
5月前
|
设计模式 Java Spring
Java 设计模式之责任链模式:优雅处理请求的艺术
责任链模式通过构建处理者链,使请求沿链传递直至被处理,实现发送者与接收者的解耦。适用于审批流程、日志处理等多级处理场景,提升系统灵活性与可扩展性。
634 2
|
监控 算法 网络协议
Java 实现局域网电脑屏幕监控算法揭秘
在数字化办公环境中,局域网电脑屏幕监控至关重要。本文介绍用Java实现这一功能的算法,涵盖图像采集、数据传输和监控端显示三个关键环节。通过Java的AWT/Swing库和Robot类抓取屏幕图像,使用Socket进行TCP/IP通信传输图像数据,并利用ImageIO类在监控端展示图像。整个过程确保高效、实时和准确,为提升数字化管理提供了技术基础。
319 15
|
11月前
|
存储 机器学习/深度学习 监控
如何监控员工的电脑——基于滑动时间窗口的Java事件聚合算法实现探析​
在企业管理场景中,如何监控员工的电脑操作行为是一个涉及效率与合规性的重要课题。传统方法依赖日志采集或屏幕截图,但数据量庞大且实时性不足。本文提出一种基于滑动时间窗口的事件聚合算法,通过Java语言实现高效、低资源占用的监控逻辑,为如何监控员工的电脑提供一种轻量化解决方案。
391 3
|
运维 监控 算法
java实现一个动态监控系统,监控接口请求超时的趋势
java实现一个动态监控系统,监控接口请求超时的趋势
727 2
|
Java
Java aop 如何获取请求头里的token
【8月更文挑战第13天】Java aop 如何获取请求头里的token
431 0
|
JSON Java 数据格式
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
313 25
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
|
运维 Cloud Native Java
postman发起post请求遇到报错:java.io.FileNotFoundException (文件名、目录名或卷标语法不正确。)
遇到bug报错,多猜可能的原因,控制变量反复测试,直至找到问题的关键,然后再思考如何解决或者回避。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来
|
安全 Java API
java如何请求接口然后终止某个线程
通过本文的介绍,您应该能够理解如何在Java中请求接口并根据返回结果终止某个线程。合理使用标志位或 `interrupt`方法可以确保线程的安全终止,而处理好网络请求中的各种异常情况,可以提高程序的稳定性和可靠性。
247 6
|
消息中间件 前端开发 Java
【国产化软件】接口开放平台:Java+Swagger+Vue3,适配移动端
本文档介绍了基于Java的开放平台技术栈及使用流程,涵盖从注册开发者账号、创建应用、申请令牌到调用API接口的全过程。平台提供丰富的接口管理和统计功能,支持开发者在线维护个人资料和接口令牌,同时兼容移动设备访问和黑夜模式。技术栈方面,后端采用Spring Boot 3 + MySQL + Redis + RabbitMQ + Nacos,前端则基于Vue3 + TypeScript 5.x + Element Plus + UnoCSS。访问开放平台的地址为:http://java.test.yesapi.cn/platform/。
|
JSON Java 数据格式
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
685 1