如果不想直接跳转到目标地址,想对中间的Location做些处理则可以通过HttpURLConnection实现。 // 必须设置false,否则会自动redirect到Location的地址 conn.setInstanceFollowRedirects(false);
package com.zuidaima;import java.net.HttpURLConnection;import java.net.URL;/** * 如何通过HttpURLConnection得到http 302的跳转地址 * * @author javaniu * */public class Http302 { public static void main(String[] args) { try { String url = "http://www.zuidaima.com/302.htm"; System.out.println("访问地址:" + url); URL serverUrl = new URL(url); HttpURLConnection conn = (HttpURLConnection) serverUrl .openConnection(); conn.setRequestMethod("GET"); // 必须设置false,否则会自动redirect到Location的地址 conn.setInstanceFollowRedirects(false); conn.addRequestProperty("Accept-Charset", "UTF-8;"); conn.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Firefox/3.6.8"); conn.addRequestProperty("Referer", "http://zuidaima.com/"); conn.connect(); String location = conn.getHeaderField("Location"); serverUrl = new URL(location); conn = (HttpURLConnection) serverUrl.openConnection(); conn.setRequestMethod("GET"); conn.addRequestProperty("Accept-Charset", "UTF-8;"); conn.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Firefox/3.6.8"); conn.addRequestProperty("Referer", "http://zuidaima.com/"); conn.connect(); System.out.println("跳转地址:" + location); } catch (Exception e) { e.printStackTrace(); } }}
转载: http://www.zuidaima.com/share/1550463509482496.htm
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow