Recupérer une URL a partir d'une autre qui y pointe par redirection?

Recupérer une URL a partir d'une autre qui y pointe par redirection? - Java - Programmation

Marsh Posté le 07-07-2006 à 02:10:57    

Bonjour,
 
Je voudrais récupérer l'URL d'un site à partir d'une autre URL qui y pointe (par redirection)
X ---> Y  
je connais X mais pas Y, je veux Y.
 
Exemple:
www.monSiteSource.com/goto.php?id=99  ------pointe vers------> www.siteQuiMinteresse.com
 
En faisant:

Code :
  1. URL url = new URL("http://www.monSiteSource.com/goto.php?id=99" );    
  2. InputStream is = url.openStream();
  3. BufferedReader in = new BufferedReader (new InputStreamReader(is));


 
J'arrive à acceder au site www.siteQuiMinteresse.com et à lire son  
contenu HTML (de la page d'accueil bien sûr), mais
je n'arrive pas à récupérer son URL (www.siteQuiMinteresse.com)
 
Des suggestions?
 
Merci de votre aide!


Message édité par lamino le 07-07-2006 à 02:11:38
Reply

Marsh Posté le 07-07-2006 à 02:10:57   

Reply

Marsh Posté le 07-07-2006 à 08:18:33    

T'as regardé dans les headers qui sont envoyés par le serveur web de www.siteQuiMinteresse.com ? Je suis presque sur que ça doit figurer dedans


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 11-07-2006 à 01:58:30    


Je te remercie esox_ch pour le tuyau. Tu as raison ça a marché.
Pour ceux qui seront intéressés voilà le code:
 

Code :
  1. URL url = new URL("http://www.monSiteSource.com/goto.php?id=99" );    
  2. HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
  3. httpConn.setInstanceFollowRedirects(false);    
  4.  
  5.   for (int i=0; ; i++) {    
  6.        String headerName = (String)httpConn.getHeaderFieldKey(i);
  7.        String headerValue = httpConn.getHeaderField(i);
  8.        if (headerName == null && headerValue == null) break;
  9.        if(headerName != null && headerName.equals("Location" ))
  10.    System.out.println("URL = " + headerValue);
  11.   }


A mettre ds un bloc try bien sûr.
 
Encore une fois merci esox  :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed