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!