今天公司让我用httpclient远程调用另一个项目的接口,看了几篇博客后仍然无法解决,原来是请求到另一个项目时,发生重复登陆,几天做个补充!如果是post和不附带参数的get,可参照其他博客一起看!
public String test(HttpSession session, HttpServletRequest httpServletRequest) throws Exception {
String result= null;
// 创建Httpclient对象,相当于打开了浏览器
CloseableHttpClient httpclient = HttpClients.createDefault();
// 创建URI对象,并且设置请求参数
URI uri = new URIBuilder(prop.getProperty(menuTreeUrl)).setParameter("", "").build();//设置参数一个是key,一个是value
// 创建HttpGet请求,相当于在浏览器输入地址
HttpGet httpGet = new HttpGet(uri);
//主要是下面这段代码,添加头,请求到另一个项目时就无需再重复登陆
Enumeration<String> headerNames = httpServletRequest.getHeaderNames();
while (headerNames.hasMoreElements())
{
String headerName &#