在Java中,可以通過HttpURLConnection類來獲取重定向地址。具體步驟如下:
創(chuàng)建一個URL對象,指定要訪問的URL地址。
調(diào)用URL對象的openConnection()方法,返回一個URLConnection對象。
將URLConnection對象轉(zhuǎn)換為HttpURLConnection對象。
設(shè)置HttpURLConnection對象的請求方式為GET或POST。
調(diào)用HttpURLConnection對象的connect()方法,建立與服務(wù)器的連接。
獲取HttpURLConnection對象的返回狀態(tài)碼,如果是302(重定向),則獲取重定向地址。
通過getHeaderField()方法獲取重定向地址。
示例代碼如下:
import java.net.HttpURLConnection;
import java.net.URL;
public class RedirectExample {
public static void main(String[] args) throws Exception {
String urlStr = "http://example.com";
URL url = new URL(urlStr);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
int statusCode = connection.getResponseCode();
if (statusCode == HttpURLConnection.HTTP_MOVED_TEMP || statusCode == HttpURLConnection.HTTP_MOVED_PERM || statusCode == HttpURLConnection.HTTP_SEE_OTHER) {
String redirectUrl = connection.getHeaderField("Location");
System.out.println("重定向地址:" + redirectUrl);
} else {
System.out.println("不是重定向請求");
}
}
}
上述代碼通過訪問"example.com",并獲取返回的狀態(tài)碼來判斷是否為重定向請求,如果是,就通過getHeaderField()方法獲取重定向地址。