最近工作中遇到了一个获取重定向后真实url的问题,记一下
Thread thread =new Thread(new Runnable() {
@Override
public void run() {
try {
String webUrl="重定向前的url";
realUrl =webUrl;
URL url =new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//设置是否自动处理重定向false,手动处理
conn.setInstanceFollowRedirects(false);
int code = conn.getResponseCode();
String redirectUrl ="";
//302表示重定向
if (302 == code) {
//获取重定向后的url
redirectUrl = conn.getHeaderField("Location");
}
if (redirectUrl!=null&&!redirectUrl.equals(""))
realUrl = redirectUrl;
conn.disconnect();
}catch (MalformedURLException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
}
});
网友评论