浏览器如何管理Cookie?我的意思是,是否必须创建cookie对象?
动机:我想登录cookie网站。如今,cookie不仅仅是名称和价值 - 它们还包含域名,到期日期等。
我需要Java预期的答案。
答案 0 :(得分:3)
每当浏览器收到包含特定cookie标头的响应时,它都会创建一个cookie。
使用java servlet API,您可以通过以下方式创建cookie:
Cookie cookie = new Cookie();
cookie.setName(); // setValue, setMaxAge, setPath, etc.
response.addCookie(cookie);
在后续请求中,浏览器将cookie发送到服务器。同样,使用servlet API,您可以通过调用request.getCookies()
答案 1 :(得分:1)
如果您想要使用java.net内置API构建具有cookie状态的迷你浏览器,您可以查看本教程:http://www.hccp.org/java-net-cookie-how-to.html。它显示了Java如何连接到URL,通过响应头来获取cookie,以及如何在请求中设置cookie。
一些示例代码:
System.out.println("GET: " + url);
// create and open url connection for reading
URL urlObj = new URL(url);
URLConnection conn = urlObj.openConnection();
// set existing cookies
conn.setRequestProperty("Cookie", myGetSavedCookies(url));
// connect
conn.connect();
// loop through response headers to set new cookies
myAddSavedCookies(conn.getHeaderFields().get("Set-Cookie"));
// read page
Scanner sc = new Scanner(conn.getInputStream());
while (sc.hasNextLine())
out.write(sc.nextLine());
sc.close();
答案 2 :(得分:0)
假设您正在使用服务器并在Servlet环境(Tomcat,Jetty)中工作,那么您希望在响应中查看getCookies和类似的设置cookie。
答案 3 :(得分:0)