Java

java如何获取重定向地址

小亿
405
2023-08-07 09:57:34
栏目: 编程语言

在Java中,可以通过HttpURLConnection类来获取重定向地址。具体步骤如下:

  1. 创建一个URL对象,指定要访问的URL地址。

  2. 调用URL对象的openConnection()方法,返回一个URLConnection对象。

  3. 将URLConnection对象转换为HttpURLConnection对象。

  4. 设置HttpURLConnection对象的请求方式为GET或POST。

  5. 调用HttpURLConnection对象的connect()方法,建立与服务器的连接。

  6. 获取HttpURLConnection对象的返回状态码,如果是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",并获取返回的状态码来判断是否为重定向请求,如果是,就通过getHeaderField()方法获取重定向地址。

0
看了该问题的人还看了