11

我正在发出 GET 请求,然后将 307 重定向到另一个 URL,然后从那里进行另一个 302 重定向,依此类推,直到到达请求的页面。我在从第一个重定向 307 中提取 URL 时遇到问题,我想查看重定向到的位置。我正在使用 Rest Assured 作为框架。谢谢!

4

1 回答 1

17

我有同样的问题,但我没有 307,只有 302。我想解决方案是一样的。我所做的是:

  1. 在第一次通话时停止跟踪重定向redirects().follow(false)

  2. 从第一个重定向中捕获 URL

  3. 拨打另一个电话以跟随重定向

    Response resp1 =
            given().
                contentType(ContentType.URLENC).
                body("AUTH_TOKEN=&j_username=" + encodedUsername + "&j_password=" + password + "&userName=&AUTH_TOKEN=").
                redirects().follow(false).
            expect().
                statusCode(302).
            when().
                post("/authenticate/j_spring_security_check");
    
    String headerLocationValue = resp1.getHeader("Location");
    
    Response resp2 =
            given().
                cookie(resp1.getDetailedCookie("JSESSIONID")).
            expect().
                statusCode(200).
            when().
                get(headerLocationValue);
    
于 2017-06-02T10:07:33.350 回答