Java中如何处理URL重定向

avatar
作者
筋斗云
阅读量:0

在Java中,处理URL重定向可以使用java.net.HttpURLConnection

import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL;  public class URLRedirectExample {     public static void main(String[] args) {         try {             String url = "https://example.com"; // 替换为需要重定向的URL             HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();             connection.setInstanceFollowRedirects(false); // 禁用自动重定向             int responseCode = connection.getResponseCode();              if (responseCode == HttpURLConnection.HTTP_MOVED_PERM || responseCode == HttpURLConnection.HTTP_MOVED_TEMP) {                 String redirectUrl = connection.getHeaderField("Location"); // 获取重定向的URL                 System.out.println("Redirected to: " + redirectUrl);                  // 如果需要继续访问重定向的URL,可以创建一个新的HttpURLConnection实例                 HttpURLConnection redirectConnection = (HttpURLConnection) new URL(redirectUrl).openConnection();                 // 处理重定向后的URL             } else {                 System.out.println("No redirection found.");             }         } catch (IOException e) {             e.printStackTrace();         }     } } 

这个示例首先创建一个HttpURLConnection实例,然后禁用自动重定向。接下来,它检查响应代码是否表示重定向(HTTP_MOVED_PERM或HTTP_MOVED_TEMP)。如果发现重定向,它将从"Location"头字段中获取重定向的URL并打印出来。如果需要继续访问重定向的URL,可以创建一个新的HttpURLConnection实例。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!