如何在重定向中跟踪Cookie

mdfafbf1  于 2021-06-29  发布在  Java
关注(0)|答案(0)|浏览(214)

我必须用基于cookie的身份验证向服务器发送登录请求。请求方式如下:

public Response login(String username, String password) {
    Response response = client
            .target(domainName + LOGIN_REST_URI)
            .request(MediaType.APPLICATION_JSON)
            .post(Entity.form(new Form().param("IDToken1", username).param("IDToken2", password)));
    return response;
}

我在使用cookie manager时遇到问题,所以我尝试手动跟踪cookie。我尝试通过getcookies方法检索cookies作为响应:

System.out.println(response.getCookies().toString())

但它是空的。在一些测试之后,我意识到在我的登录请求之后有一些重定向(我隐藏了下面带有的url和cookies):

https://XXXXXXXXXXXXXXXXXXXXX/login
null=[HTTP/1.1 302 Moved Temporarily]
Server=[Apache-Coyote/1.1]
Pragma=[no-cache]
Date=[Thu, 17 Dec 2020 09:01:02 GMT]
...
...
AM_CLIENT_TYPE=[genericHTML]
Set-Cookie=[XXXXXXXXXXXXXXXXXXXXXXXXXXXX]
X-AuthErrorCode=[0]
Expires=[0]
X-XSS-Protection=[1; mode=block]
Content-Length=[0]
Content-Type=[text/plain; charset=UTF-8]
Location=[https://XXX/login/success]

在这个重定向之后,我收到一个200退出状态的响应,但是在头中没有cookies,这就是为什么我的response.getcookies()返回一个空结果。那么如何从第一个响应(302)中检索cookies呢?就像我说的,我在cookie管理器上有问题,所以我必须手动跟踪它们。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题