发现有些跳转的网址,用jdk的HttpURLConnection类访问返回的响应不一样。比如http://dwz.cn/11ftOg这个链接:
java代码很简单:
String requestUrl = "http://dwz.cn/11ftOg";
HttpURLConnection conn = null;
try {
URL url = new URL(requestUrl);
conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(300);
conn.setReadTimeout(500);
conn.setUseCaches(false);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.connect();
int code = conn.getResponseCode();
System.out.println("+++++++ response code: " + code);
} catch (IOException e) {
System.out.println("+++++++ error:"+ e);
} finally {
if (conn != null) {
conn.disconnect();
}
}
执行后输出:
+++++++
response code: 301
但是在浏览器访问抓包,在linux上curl访问都返回的是302:
~> curl -I 'http://dwz.cn/11ftOg'
HTTP/1.1 302 Found
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Origin,Accept,Content-Type,X-Requested-With
Access-Control-Allow-Methods: POST,GET,PUT,PATCH,DELETE,HEAD
Access-Control-Allow-Origin:
Content-Type: text/html; charset=utf-8
Date: Tue, 18 Dec 2018 07:32:23 GMT
Location: http://www.hzins.com/study/studytag/word-2820-205-9.html/?id=hz6
Set-Cookie: DWZID=71abaaa6daf9c9151434309799aacd30; Path=/; Domain=dwz.cn; Max-Age=31536000; HttpOnly
哪位大神讲讲这是啥原因呢