Java如何获取useragent
获取User-Agent的方法
在Java中,可以通过HTTP请求的头部信息获取User-Agent。以下是几种常见场景下的实现方式:
Servlet环境中获取User-Agent
在Servlet或Spring MVC等Web框架中,可以直接从HttpServletRequest对象中获取:

String userAgent = request.getHeader("User-Agent");
Spring Boot中获取User-Agent
在Spring Boot的控制器方法中,可以通过注入HttpServletRequest或使用@RequestHeader注解:

@GetMapping("/example")
public String example(@RequestHeader("User-Agent") String userAgent) {
return "User-Agent: " + userAgent;
}
使用Apache HttpClient
发送HTTP请求时,可以从响应中提取User-Agent:
CloseableHttpClient client = HttpClients.createDefault();
HttpGet request = new HttpGet("http://example.com");
request.setHeader("User-Agent", "Custom-Agent/1.0");
try (CloseableHttpResponse response = client.execute(request)) {
String serverUserAgent = response.getFirstHeader("User-Agent").getValue();
}
使用Java原生HttpURLConnection
通过URLConnection获取请求头信息:
URL url = new URL("http://example.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty("User-Agent", "Test-Agent");
String serverResponseAgent = connection.getHeaderField("User-Agent");
注意事项
- User-Agent字符串格式通常为:
Mozilla/5.0 (平台信息) 引擎/版本 浏览器/版本 - 部分客户端可能不发送User-Agent头,需进行空值判断
- 修改User-Agent可用于模拟不同设备访问,但需遵守目标网站的使用条款





