我正在尝试获取有关用户用于调用 API 的浏览器的信息。 我在网上搜索了一下,似乎应该使用请求 header 中的“user-agent”。
代码:
@RequestMapping(value = "/headerTest", method = RequestMethod.GET)
public @ResponseBody DummyAPI dummyApi(
@RequestHeader ("User-Agent") String userAgent,
HttpServletRequest request, HttpServletResponse response)
{
System.out.println("User-Agent : " + userAgent);
String browserName = request.getHeader("User-Agent");
System.out.println("BrowserName : " + browserName);
return "test";
}
但是,当我测试它时:
Firefox 给我: Mozilla/5.0(Macintosh;Intel Mac OS X 10.9;rv:25.0)Gecko/20100101 Firefox/25.0!
Chrome 给了我: Mozilla/5.0(Macintosh;Intel Mac OS X 10_9_3)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/35.0.1916.153 Safari/537.36!
Safari 给我: Mozilla/5.0(Macintosh;Intel Mac OS X 10_9_3)AppleWebKit/537.76.4(KHTML,如 Gecko)版本/7.0.4 Safari/537.76.4!
这里可能出现什么问题?为什么标题会错误?
提前谢谢您!
最佳答案
标题是正确的,它们或您的应用程序没有任何问题。由于历史原因,它们包含大量数据,并且无法轻松更改以与旧的 Web 应用程序兼容。
关于java - Spring Java servlet 返回错误的用户代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24441788/