1

J'ai une application web en test. En utilisant Fiddler/Httpfox, je peux voir que lors de la connexion à l'application web, il y a deux redirections HTTP 302 avant que la réponse à 200 OK soit reçue. Est-il possible d'observer les deux redirections en utilisant le code Java?Observer/capturer 302 redirections en java

Voici ce que je codé:

public class HttpReq { 
    HttpURLConnection con = null; 
    StringBuilder str = new StringBuilder(); 
    BufferedReader br = null; 
    URL address = null; 
    String line = null; 

    HttpReq() { 
     try { 
     address = new URL("http://walhs24002v.us.oracle.com/t1mockapp1/"); 
     con = (HttpURLConnection)address.openConnection(); 
     con.setRequestMethod("GET"); 
     con.setReadTimeout(60000); 
     con.setConnectTimeout(60000); 
     con.setDoOutput(true); 
     con.setInstanceFollowRedirects(true); 

     con.connect(); 

     InputStreamReader is = new InputStreamReader(con.getInputStream()); 
     br = new BufferedReader(is); 
     while((line = br.readLine()) != null) 
     { 
      str.append(line + '\n'); 
     } 
     //System.out.println(str); 
     System.out.println(con.getResponseCode()); 
     System.out.println(con.getResponseMessage()); 
     } 
     catch (MalformedURLException m) 
     { 
     m.printStackTrace(); 
     } 
     catch (IOException i) 
     { 
     i.printStackTrace(); 
     } 
     finally 
     { 
     br = null; 
     str = null; 
     con = null; 
     } 
    } 

    public static void main(String[] args) { 
    HttpReq http = new HttpReq(); 
     } 

} 

Le programme donne la sortie: 200 OK

Pas de surprise là-bas. Y at-il un moyen de capturer les deux redirections 302 avant que le 200 ok est reçu?

+1

setInstanceFollowRedirects (false)? – irreputable

+0

@irreputable: Ouais c'était ça. Merci! – codewarrior

Répondre

0

Avec defaulthttpclient vous pouvez certainement:

http://hc.apache.org/httpcomponents-client-ga/tutorial/html/httpagent.html

ClientPNames.HANDLE_REDIRECTS = 'http.protocol.handle-réoriente': définit si des redirections doivent être traitées automatiquement. Ce paramètre attend une valeur de type java.lang.Boolean. Si ce paramètre n'est pas défini, HttpClient gère automatiquement les redirections.

Questions connexes