【工具】Java请求带http重定向的地址 自动进行重定向
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;public class HTTPGETWithMultipleHeaders {public static void main(String[] args) {try {String urlToRead = "http://example.com"; // 你要请求的URLwhile (urlToRead != null) {URL url = new URL(urlToRead);HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod("GET"); // 使用GET请求方式// 设置多个自定义请求头connection.setRequestProperty("User-Agent", "YourUserAgent");connection.setRequestProperty("Authorization", "Bearer YourAccessToken");connection.setRequestProperty("Custom-Header", "CustomValue");int responseCode = connection.getResponseCode();if (responseCode == HttpURLConnection.HTTP_OK) {// 请求成功,读取响应内容BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));String line;while ((line = reader.readLine()) != null) {System.out.println(line);}reader.close();break; // 响应成功,不再重定向} else if (responseCode == HttpURLConnection.HTTP_MOVED_TEMP || responseCode == HttpURLConnection.HTTP_MOVED_PERM || responseCode == HttpURLConnection.HTTP_SEE_OTHER) {// 处理重定向String newUrl = connection.getHeaderField("Location");if (newUrl != null) {urlToRead = newUrl;} else {System.out.println("重定向地址未找到。");break;}} else {System.out.println("HTTP请求失败,响应代码: " + responseCode);break;}}} catch (IOException e) {e.printStackTrace();}}
}