![](/img/trans.png)
[英]How to get httpOnly cookies from android.webkit.CookieManager
[英]How to get httponly cookies from a Java client?
如何获取httponly cookie? 我应该使用什么工具org.apache.http或jsoup,可能是url连接...请任何人给我示例。 我尝试使用jsoup获取cookie,但是jsoup不返回httponly cookie。 谢谢!!!
您可以使用在Java Cookie处理中引用的java.net.CookieHandler
。
作为直接从http://www.hccp.org/java-net-cookie-how-to.html取得的示例:
从响应中获取Cookie:
打开与服务器的java.net.URLConnection
:
URL myUrl = new URL("http://www.hccp.org/cookieTest.jsp");
URLConnection urlConn = myUrl.openConnection();
urlConn.connect();
遍历响应头以查找cookie:由于服务器可能在单个请求中设置多个cookie,因此我们将需要遍历响应头,以查找所有名为“ Set-Cookie”的标头。
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
)。
请任何人给我榜样
这是Jsoup的一个。
Response response;
try {
response = Jsoup //
.connect("https://httpbin.org/cookies/set?http-only-cookie=test;%20httponly") //
.ignoreContentType(true) //
.execute();
System.out.println(response.cookies());
} catch (IOException e) {
throw new RuntimeException(e);
}
{http-only-cookie="test\073 httponly"}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.