在Java中,可以通过HttpURLConnection类来获取重定向地址。具体步骤如下:
创建一个URL对象,指定要访问的URL地址。
调用URL对象的openConnection()方法,返回一个URLConnection对象。
将URLConnection对象转换为HttpURLConnection对象。
设置HttpURLConnection对象的请求方式为GET或POST。
调用HttpURLConnection对象的connect()方法,建立与服务器的连接。
获取HttpURLConnection对象的返回状态码,如果是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",并获取返回的状态码来判断是否为重定向请求,如果是,就通过getHeaderField()方法获取重定向地址。