您的位置:首页 > 理论基础 > 计算机网络

HttpClient获取状态码为302中Headers的参数Location

2018-02-26 11:17 537 查看
HttpClient不会跟浏览器一样帮我们自动处理重定向等问题。需要我们自己设置获取到指定的URL地址。下面是代码: public static String getLocationUrl(String url) {
RequestConfig config = RequestConfig.custom().setConnectTimeout(50000).setConnectionRequestTimeout(10000).setSocketTimeout(50000)
.setRedirectsEnabled(false).build();//不允许重定向
CloseableHttpClient httpClient = HttpClients.custom().setDefaultRequestConfig(config).build();
String location = null;
int responseCode = 0;

HttpResponse response;
try {
response = httpClient.execute(new HttpGet(url));
responseCode = response.getStatusLine().getStatusCode();
if (responseCode == 302) {
Header locationHeader = response.getFirstHeader("Location");
location = locationHeader.getValue();
}
} catch (Exception e) {

e.printStackTrace();
}

return location;
}
HttpClient不会跟浏览器一样帮我们自动处理重定向等问题。需要我们自己设置获取到指定的URL地址。下面是代码:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: