溫馨提示×

java如何獲取重定向地址

小億
513
2023-08-07 09:57:34
欄目: 編程語言

在Java中,可以通過HttpURLConnection類來獲取重定向地址。具體步驟如下:

  1. 創(chuàng)建一個URL對象,指定要訪問的URL地址。

  2. 調(diào)用URL對象的openConnection()方法,返回一個URLConnection對象。

  3. 將URLConnection對象轉(zhuǎn)換為HttpURLConnection對象。

  4. 設(shè)置HttpURLConnection對象的請求方式為GET或POST。

  5. 調(diào)用HttpURLConnection對象的connect()方法,建立與服務(wù)器的連接。

  6. 獲取HttpURLConnection對象的返回狀態(tài)碼,如果是302(重定向),則獲取重定向地址。

  7. 通過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()方法獲取重定向地址。

0