发布时间:2025-12-10 19:38:17 浏览次数:3
JavaWeb – HTTP 请求 Header 之 Location 定位解决方案「终于解决」HttpResponsehttpResponse=call(apiMethod,url,headerMap,formMap,rawJsonMap,rawJsonStr);intstatus=httpResponse.getStatus();if(302==status){url=httpResponse.header(“Location”);httpResponse=call(apiMethod,url,headerMap,formMap.
HttpResponse httpResponse = call(apiMethod, url, headerMap, formMap, rawJsonMap, rawJsonStr);int status = httpResponse.getStatus();if (302 == status) { url = httpResponse.header("Location"); httpResponse = call(apiMethod, url, headerMap, formMap, rawJsonMap, rawJsonStr);}/** * http call * @param apiMethod * @param url * @param headerMap * @param formMap * @param rawJsonMap * @param rawJsonStr * @param httpResponse * @return cn.hutool.http.HttpResponse */private HttpResponse call(Byte apiMethod, String url, Map<String, String> headerMap, Map<String, Object> formMap, Map<String, Object> rawJsonMap, String rawJsonStr) { HttpResponse httpResponse = null; if (apiMethod == Const.Api.ApiMethod.FLAG_GET) { httpResponse = DHttpUtil.get(headerMap, url); } else if (apiMethod == Const.Api.ApiMethod.FLAG_POST) { if (Objects.nonNull(formMap) && formMap.size() > 0) { httpResponse = DHttpUtil.post(headerMap, url, formMap); } else if (Objects.nonNull(rawJsonMap) && rawJsonMap.size() > 0) { httpResponse = DHttpUtil.post(headerMap, url, rawJsonStr); } else { httpResponse = DHttpUtil.post(headerMap, url); } } else if (apiMethod == Const.Api.ApiMethod.FLAG_PUT) { if (Objects.nonNull(formMap) && formMap.size() > 0) { httpResponse = DHttpUtil.put(headerMap, url, formMap); } else if (Objects.nonNull(rawJsonMap) && rawJsonMap.size() > 0) { httpResponse = DHttpUtil.put(headerMap, url, rawJsonStr); } } else if (apiMethod == Const.Api.ApiMethod.FLAG_DELETE) { if (Objects.nonNull(formMap) && formMap.size() > 0) { httpResponse = DHttpUtil.delete(headerMap, url, formMap); } else if (Objects.nonNull(rawJsonMap) && rawJsonMap.size() > 0) { httpResponse = DHttpUtil.delete(headerMap, url, rawJsonStr); } } return httpResponse;} 是否还在为Ide开发工具频繁失效而烦恼,来吧关注以下公众号获取最新激活方式。亲测可用!
【正版授权,激活自己账号】:Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】:官方授权 正版激活 自己使用,支持Jetbrains家族下所有IDE…
如上伪代码,如果遇到 302 状态码,则取出 Location 里的最终地址,再一次进行请求,如果里面还有,则把 if 用循环来做即可。