获取一个302地址跳转后的地址
这是源代码,但是不好使,有人帮我看看吗
public static void main(String[] args) throws IOException {
String link = "https://developer.lanzoug.com/file/?VDJVa15vDz4FDFNrADVRPQY5DzdV7wutUf9WuVe1UspUsQXXD/lU6VSBUK5WLAFhAykDbVcuVzMFa1I4AThRD1Q9VWZePg9jBWZTMQBmUWEGZQ8zVTsLL1EwViNXNlJiVGAFaw9rVDlUMFA/VjcBJgMpA3ZXNVdnBTJSZgFvUX9UZVUyXiwPagVnUyoAMlFnBmwPPVUyC21RblZiV21SY1RmBTMPYVQ1VDVQMlY6ATgDbQMwVzhXZwUzUjIBblEzVDJVY15lD2wFYlM8AHpRMQYsD2FVLAt8USVWNVd5UjpUMAVvD2NUNlQ0UDVWOgE3A28DIFd8VzwFb1IxATtRbVRlVTReNQ9tBWRTMwBmUWUGZA87VSQLJ1FwVjZXZ1IkVGkFYw9kVDZUNFAxVjQBMQNpAzNXMVdzBXdSJAEqUW1UZVU0XjUPbgVkUzUAbVFgBm0POlUsC3xRP1YgVzZSYlRlBWcPfFQxVDdQP1YsATYDbgMoVzlXYQUx";
//设置不允许重定向
RequestConfig config = RequestConfig.custom().setRedirectsEnabled(false).build();
//使用 CloseableHttpClient 而非 HttpClient
CloseableHttpClient httpClient = HttpClients.custom().setDefaultRequestConfig(config).build();
HttpResponse response = null;
InputStream is = null;
String body = null;
StringBuilder res = new StringBuilder();
try {
response = httpClient.execute(new HttpGet(link));
HttpEntity entity = response.getEntity();
// 读取响应内容
if (entity != null) {
is = entity.getContent();
BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
while ((body = br.readLine()) != null) {
res.append(body);
}
}
} catch (IOException e) {
throw new RuntimeException(e);
}
System.out.println(res);
int code = response.getStatusLine().getStatusCode();
System.out.println(code);
String newuri="";
if (code == 302) {
Header header = response.getFirstHeader("location"); // 跳转的目标地址是在response的 HTTP-HEAD 中的,location的值
newuri = header.getValue(); // 这就是跳转后的地址,再向这个地址发出新申请,以便得到跳转后的信息是啥。
System.out.println(newuri);
}
}