依赖:
<!-- 解析客户端操作系统、浏览器等 -->
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>1.21</version>
</dependency>
import com.example.myopenaidemo.utils.ServletUtils;
import eu.bitwalker.useragentutils.UserAgent;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
public class UserAgentController {
/**
* 解析客户端操作系统、浏览器
*
* @return
*/
@GetMapping("/getUserAgent")
public void getUserAgent(){
final UserAgent userAgent = UserAgent.parseUserAgentString(ServletUtils.getRequest().getHeader("User-Agent"));
// 获取客户端操作系统
String os = userAgent.getOperatingSystem().getName();
// 获取客户端浏览器
String browser = userAgent.getBrowser().getName();
log.info("操作系统: {}", os);
log.info("浏览器: {}", browser);
}
}
输出结果:
2024-02-01 16:45:46.031 INFO 17192 --- [nio-8099-exec-1] c.e.m.test.UserAgentController : 操作系统: Windows 10
2024-02-01 16:45:46.032 INFO 17192 --- [nio-8099-exec-1] c.e.m.test.UserAgentController : 浏览器: Chrome 12