标签:publicstaticvoidmain(String[]args){
try{
StringBufferbuffer=newStringBuffer();
Stringurl="http://localhost:8080/istock/login?u=name&p=pass";
System.out.println("访问地址:"+url);
//发送get请求
URLserverUrl=newURL(url);
HttpURLConnectionconn=(HttpURLConnection)serverUrl.openConnection();
conn.setRequestMethod("GET");
//必须设置false,否则会自动redirect到重定向后的地址
conn.setInstanceFollowRedirects(false);
conn.addRequestProperty("Accept-Charset","UTF-8;");
conn.addRequestProperty("User-Agent","Mozilla/5.0(Windows;U;WindowsNT5.1;zh-CN;rv:1.9.2.8)Firefox/3.6.8");
conn.addRequestProperty("Referer","/");
conn.connect();
//判定是否会进行302重定向
if(conn.getResponseCode()==302){
//如果会重定向,保存302重定向地址,以及Cookies,然后重新发送请求(模拟请求)
Stringlocation=conn.getHeaderField("Location");
Stringcookies=conn.getHeaderField("Set-Cookie");
serverUrl=newURL(location);
conn=(HttpURLConnection)serverUrl.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Cookie",cookies);
conn.addRequestProperty("Accept-Charset","UTF-8;");
conn.addRequestProperty("User-Agent","Mozilla/5.0(Windows;U;WindowsNT5.1;zh-CN;rv:1.9.2.8)Firefox/3.6.8");
conn.addRequestProperty("Referer","/");
conn.connect();
System.out.println("跳转地址:"+location);
}
//将返回的输入流转换成字符串
InputStreaminputStream=conn.getInputStream();
InputStreamReaderinputStreamReader=newInputStreamReader(inputStream,"utf-8");
BufferedReaderbufferedReader=newBufferedReader(inputStreamReader);
Stringstr=null;
while((str=bufferedReader.readLine())!=null){
buffer.append(str);
}
bufferedReader.close();
inputStreamReader.close();
//释放资源
inputStream.close();
inputStream=null;
System.out.println(buffer.toString());
}catch(Exceptione){
e.printStackTrace();
}
}
标签:
如果觉得《java 获得响应内容_Java 纯HTTP Get请求获取响应内容 如果302 继而获取重定向后的响应内容。...》对你有帮助,请点赞、收藏,并留下你的观点哦!