httpClient请求时--当返回302时--如何处理呢?

戚薇 Java经验 发布时间:2023-05-31 22:08:59 阅读数:10787 1
下文笔者讲述HttpClient请求时--出现302时
得到真实的请求内容的方法分享,如下所示
当我们遇到302时
    只需获取实际的地址
	然后再次请求,即可得到实际的内容
例:修改httpClient返回值的处理逻辑
 
if (response.getStatusLine().getStatusCode() == 302){
	Header firstHeader = response.getFirstHeader("location");  // 新的请求地址在此
	String newAddress = firstHeader.getValue();   // 此时即拿到了重定向后的地址

	// 用新地址再来一次请求即可  做自己的业务处理 以下只做参考
	HttpPost httpPost1 = new HttpPost(newAddress);
	// 头信息 这里放到map里循环了
	for (Map.Entry<String, String> headmap : headerMap.entrySet()) {
		httpPost1.setHeader(headmap.getKey(), headmap.getValue());
	}
	httpPost1.setHeader(HttpHeaders.CONTENT_TYPE, "application/json;charset=utf-8");
	
	StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON);
	httpPost1.setEntity(entity);

	response = httpClient.execute(httpPost1);	
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202305/16855421886667.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者