1

Je fais une requête GET qui fait ensuite une redirection 307 vers une autre URL et à partir de là, elle effectue une autre redirection 302 et ainsi de suite jusqu'à ce qu'elle atteigne la page demandée. J'ai des problèmes pour extraire l'URL de la première redirection, la 307, je veux voir l'emplacement où est redirigé. J'utilise Rest Assured comme cadre. Merci!Obtenez l'URL d'une redirection avec Rest Assured?

Répondre

2

J'ai eu le même problème, mais je n'avais pas le 307, juste 302. J'imagine que la solution serait la même. Ce que j'ai fait était: 1) arrêter de suivre les redirections sur le premier appel - les redirections() suivre (faux) 2) capturer l'URL de la première redirection 3) faire un autre appel pour suivre la (les) redirection (s)

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);