J'utilise le code suivant pour obtenir le code de réponse renvoyé d'une page ASPXComment suivre une "redirection automatique de page" pour obtenir le code de réponse?
HttpConnection connection
= (HttpConnection) Connector.open("http://company.com/temp1.aspx"
+ ";deviceside=true");
connection.setRequestMethod(HttpConnection.GET);
connection.setRequestProperty(HttpHeaders.HEADER_CONNECTION, "close");
connection.setRequestProperty(HttpHeaders.HEADER_CONTENT_LENGTH, "0");
int resCode = connection.getResponseCode();
Il fonctionne très bien. Mais que faire si le lien "http://company.com/temp1.aspx" redirige automatiquement vers une autre page; supposer "http://noncompany.com/temp2.aspx"? Comment puis-je obtenir le code de réponse renvoyé par le second lien (celui auquel le premier lien a été redirigé)? Y a-t-il quelque chose comme "follow redirection" pour obtenir la nouvelle réponse de la page qui a été redirigée automatiquement?
Merci d'avance.
Vous pouvez remplacer l'instruction while (true) par une boucle for (jusqu'à 5-10 tentatives environ) pour éviter d'entrer dans une boucle de redirection infinie, ce qui peut parfois arriver avec un serveur Web ou un proxy mal configuré. –
Merci Marc pour le commentaire. Je pense aussi qu'il existe une autre solution, garder trace des liens redirigés, en ajoutant chaque nouvel emplacement (lien) à un vecteur par exemple, et chaque fois qu'un nouveau lien de redirection est trouvé, le code doit d'abord vérifier s'il existe dans le vecteur, s'il existe, il provoquera une redirection infinie cyclique. Merci pour cette note. –