Maison >Java >javaDidacticiel >Comment récupérer des URL redirigées en Java ?

Comment récupérer des URL redirigées en Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-08 11:16:02214parcourir

How to Retrieve Redirected URLs in Java?

Récupération de redirection d'URL Java

Lors de l'accès à des pages Web via URLConnection de Java, il est essentiel de gérer les redirections d'URL. Pour obtenir l'URL redirigée, des techniques standard existent au-delà du seul recours aux champs d'en-tête tels que "Set-Cookie".

La principale méthode pour déterminer l'URL redirigée consiste à appeler getUrl() sur l'instance URLConnection après avoir établi la connexion. :

URLConnection con = new URL(url).openConnection();

// Connect to the URL
con.connect();

// Obtain the redirected URL
URL redirectedURL = con.getURL();

Ce mécanisme capture avec précision l'URL redirigée, quelles que soient les réponses intermédiaires ou les champs d'en-tête « Location » manquants.

Pour Dans les cas où vous devez vérifier la redirection avant de récupérer le contenu, l'approche suivante est recommandée :

HttpURLConnection con = (HttpURLConnection)(new URL(url).openConnection());

// Deactivate automatic redirection following
con.setInstanceFollowRedirects(false);

// Establish the connection
con.connect();

// Retrieve the response code
int responseCode = con.getResponseCode();

// Examine the response code for redirection
if (responseCode == HttpURLConnection.HTTP_MOVED_TEMP ||
    responseCode == HttpURLConnection.HTTP_MOVED_PERM ||
    responseCode == HttpURLConnection.HTTP_SEE_OTHER) {
    
    // Fetch the "Location" header field
    String location = con.getHeaderField("Location");
    
    // Print the redirected URL
    System.out.println(location);
}

Ces méthodes fournissent des mécanismes fiables pour gérer les redirections d'URL en Java, garantissant des informations d'URL précises lors de la navigation Web.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn