Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.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客户端获取httponly cookies?_Java_Http_Cookies - Fatal编程技术网

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

如何从Java客户端获取httponly cookies?,java,http,cookies,Java,Http,Cookies,如何获取httponly cookies?我应该使用org.apache.http或jsoup的哪些工具,可能是url连接。。。请任何人给我举个例子。我尝试使用jsoup获取cookies,但jsoup不返回httponly cookies。 谢谢 您可以使用java.net.CookieHandler,参考地址: 例如,直接取自: 从响应中检索cookie: 打开到服务器的java.net.URLConnection: URL myUrl = new URL("http://www.hccp.

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

您可以使用
java.net.CookieHandler
,参考地址:

例如,直接取自:

从响应中检索cookie:

打开到服务器的
java.net.URLConnection

URL myUrl = new URL("http://www.hccp.org/cookieTest.jsp");
URLConnection urlConn = myUrl.openConnection();
urlConn.connect();
通过响应头循环查找Cookie: 由于服务器可能在一个请求中设置多个Cookie,因此我们需要循环遍历响应头,查找所有名为“set Cookie”的头

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

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

请任何人给我举个例子

这里有一个是关于Jsoup的

示例代码 输出
我们需要更多的信息-你是如何做到这一点的?是一个类似Tomcat的servlet环境,或者只是一个java程序。您有任何可以共享的代码吗?apache http应该能够简单地读取
Set Cookie
头。不知道JSOUP位,它可能也可以这样做。无论它是不是HttpOnly,在浏览器之外基本上是不相关的。代码不起作用。headerName不等于“设置Cookie”。但是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.substring(0, cookie.indexOf(";"));
String cookieName = cookie.substring(0, cookie.indexOf("="));
String cookieValue = cookie.substring(cookie.indexOf("=") + 1, cookie.length());
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"}