获取Rest Assured的重定向网址?

时间:2017-03-27 14:24:28

标签: java redirect http-redirect rest-assured http-status-code-307

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

1 个答案:

答案 0 :(得分:8)

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

  1. 使用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);

  2. 停止首次通话时的重定向
  3. 从第一个重定向

  4. 中捕获网址
  5. 再次拨打电话进行重定向

    { 'key1': value1,
              'key2': { 'key2_1': value2_1,
                        'key2_2': value2_2 }}