通过cookie获取客户端环境信息

发布于 2024-12-23 21:34:26 字数 316 浏览 1 评论 0原文

几天前我刚刚开始使用 Java servlet。我正在尝试开发一个程序,只是为了练习并了解我们可以使用 Java servlet 做什么。

尝试使用一个程序来生成 cookie 并将其发送回客户端作为响应。 发回 cookie 并获取 cookie 信息是可以的,但我想做的是,我们是否可以使用 cookie 获取有关客户端环境的信息,以及我们是否可以使用 cookie 获取浏览器信息,例如哪个浏览器、其版本、操作系统等。

我知道它们存储状态信息,因为 HTTP 是无状态的。所以我只是想知道并尝试是否有一种方法可以通过servlet中的cookie获取客户端的环境信息和浏览器信息。

I just started with Java servlets few days ago. I am trying to develop a program just for practice and to get to know the the stuff we can do with Java servlets.

Trying to have a program that generates a cookie and sends it back to the client in response.
Sending back the cookie and getting cookie info back is fine, but what I want to do is that can we get information about the clients environment using cookies as well as can we get the browser information using cookies, such as which browser, its version, OS, etc.

I know they store state information since HTTP is stateless. So I was just wondering and trying is there a way to get client's environment information and browser information by cookies in servlets.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

别念他 2024-12-30 21:34:26

Cookie 并非旨在获取客户信息。您必须使用 javax.servlet.http.HttpServletRequest 方法 - getHeader()getHeaders() 方法来读取请求标头键值。

 Enumeration names=request.getHeaderNames();

  while(names.hasMoreElements())
     {
     String key=names.nextElement().toString();
     String value=request.getHeader(key);
     }

想要获取user-agent键的值。

String userAgent=request.getHeader("user-agent");

Cookies are not designed to get client information. You have to use javax.servlet.http.HttpServletRequest methods - getHeader() or getHeaders() method to read request header key-value.

 Enumeration names=request.getHeaderNames();

  while(names.hasMoreElements())
     {
     String key=names.nextElement().toString();
     String value=request.getHeader(key);
     }

Want to get value of user-agent key.

String userAgent=request.getHeader("user-agent");
野却迷人 2024-12-30 21:34:26
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class GetCookiesServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        Cookie[] cookies = request.getCookies();

        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        pw.println("<B>");
        for (int i = 0; i < cookies.length; i++) {
            String name = cookies[i].getName();
            String value = cookies[i].getValue();
            pw.println("name = " + name + "; value = " + value);
        }
        pw.close();
    }
}

请访问此链接

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class GetCookiesServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        Cookie[] cookies = request.getCookies();

        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        pw.println("<B>");
        for (int i = 0; i < cookies.length; i++) {
            String name = cookies[i].getName();
            String value = cookies[i].getValue();
            pw.println("name = " + name + "; value = " + value);
        }
        pw.close();
    }
}

Please visit this link

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文