gpt4 book ai didi

java - 如何从 Java 客户端获取 httponly cookies?

转载 作者:可可西里 更新时间:2023-11-01 16:41:20 27 4
gpt4 key购买 nike

如何获取httponly cookies?我应该使用什么工具 org.apache.http 或 jsoup,可能是 url 连接...请任何人给我举个例子。我尝试使用 jsoup 获取 cookie,但 jsoup 不返回 httponly cookie。谢谢!!!

最佳答案

您可以使用 java.net.CookieHandler,引用地址:Java Cookie Handling

作为直接取自 http://www.hccp.org/java-net-cookie-how-to.html 的示例:

Retrieving cookies from a response:

打开一个 java.net.URLConnection 到服务器:

URL myUrl = new URL("http://www.hccp.org/cookieTest.jsp");
URLConnection urlConn = myUrl.openConnection();
urlConn.connect();

循环遍历响应 header 以查找 cookie:由于服务器可能会在单个请求中设置多个 cookie,因此我们需要遍历响应 header ,查找所有名为“Set-Cookie”的 header 。

String headerName=null;
for (int i=1; (headerName = uc.getHeaderFieldKey(i))!=null; i++) {
if (headerName.equals("Set-Cookie")) {
String cookie = urlConn.getHeaderField(i);
...

从 cookie 字符串中提取 cookie 名称和值:getHeaderField(int index) 方法返回的字符串是由分号(;) 分隔的一系列name=value。第一个名称/值对是我们感兴趣的实际数据字符串(即“sessionId=0949eeee22222rtg”或“userId=igbrown”),随后的名称/值对是我们用来管理 cookie 存储的元信息(到期时等)。

cookie = cookie.substring(0, cookie.indexOf(";"));
String cookieName = cookie.substring(0, cookie.indexOf("="));
String cookieValue = cookie.substring(cookie.indexOf("=") + 1, cookie.length());

基本上就是这样。我们现在有了 cookie 名称 (cookieName) 和 cookie 值 (cookieValue)。

关于java - 如何从 Java 客户端获取 httponly cookies?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35833554/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com