public Msg<LoginTokenInfoDTO> proxyLogin(HttpServletRequest request, HttpServletResponse res) {
//获取转发的参数code
String query = request.getQueryString();
log.info("请求参数:{}", query);
//配置转发的信息
String target = targetUrl + "?" + query + "&appCode="+ appcode + "&secret="+ secret;
URI newUrl = new URI(target);
log.info("转发的Url:{}", target);
// 执行代理查询
String methodName = request.getMethod();
HttpMethod httpMethod = HttpMethod.resolve(methodName);
if (httpMethod == null) {
log.error("统一认证平台接口转发失败!");
return Msg.fail("统一认证平台接口转发失败");
}
ClientHttpRequest delegate = new SimpleClientHttpRequestFactory().createRequest(newUrl, httpMethod);
Enumeration<String> headerNames = request.getHeaderNames();
// 设置请求头
while (headerNames.hasMoreElements()) {
String headerName = headerNames.nextElement();
Enumeration<String> v = request.getHeaders(headerName);
List<String> arr = new ArrayList<>();
while (v.hasMoreElements()) {
arr.add(v.nextElement());
}
delegate.getHeaders().addAll(headerName, arr);
}
StreamUtils.copy(request.getInputStream(), delegate.getBody());
// 执行远程调用
ClientHttpResponse clientHttpResponse = delegate.execute();
CSVReader csvReader = new CSVReader(new InputStreamReader(clientHttpResponse.getBody(), StandardCharsets.UTF_8));
List<String[]> resList = csvReader.readAll();
}
spring boot请求转发
最新推荐文章于 2023-10-20 09:12:51 发布