Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可以在http请求中获取输入设备的详细信息_Java_Servlets_Httprequest - Fatal编程技术网

Java 是否可以在http请求中获取输入设备的详细信息

Java 是否可以在http请求中获取输入设备的详细信息,java,servlets,httprequest,Java,Servlets,Httprequest,我正在尝试获取请求所来自的输入设备的详细信息 我可以知道,如果可以使用httpservlet请求对象实现这一点。查看HTTP头和 此行(如果存在)提供原始客户端使用的软件程序。这是为了统计和追踪违反协议的情况。它应该包括在内。第一个空格分隔的单词必须是软件产品名称,带有可选的斜杠和版本指示符。构成用户代理一部分的其他产品可以单独放置 为了得到它们 Header[] allHeaders = req.getAllHeaders(); 每个标头对象都包含名称和值。是的,您可以通过从HttpServ

我正在尝试获取请求所来自的输入设备的详细信息

我可以知道,如果可以使用httpservlet请求对象实现这一点。

查看HTTP头和

此行(如果存在)提供原始客户端使用的软件程序。这是为了统计和追踪违反协议的情况。它应该包括在内。第一个空格分隔的单词必须是软件产品名称,带有可选的斜杠和版本指示符。构成用户代理一部分的其他产品可以单独放置

为了得到它们

Header[] allHeaders = req.getAllHeaders();

每个标头对象都包含名称和值。

是的,您可以通过从HttpServletRequest对象检索用户代理标头来获取所需的详细信息:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String browserType = request.getHeader("User-Agent"); // This is the line you're after

    // This will just output the user agent to the browser
    response.getOutputStream().write(browserType.getBytes());
    response.getOutputStream().close();
}

用户代理标头是您将获得的最佳标头。然而,你不应该把这个标题当作“福音真理”。出于各种原因,它经常被欺骗。(事实上,有些web浏览器插件/附加组件是专门为帮助用户实现这一点而设计的!)


将用户代理字符串映射到浏览器和操作系统是一个启发式过程。您最好找一个现有的Java库来为您做这件事。

您要找的是什么信息?@brettw有时可能不会:)
Header[] allHeaders = req.getAllHeaders();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String browserType = request.getHeader("User-Agent"); // This is the line you're after

    // This will just output the user agent to the browser
    response.getOutputStream().write(browserType.getBytes());
    response.getOutputStream().close();
}