httpclient的的版本:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.6</version>
</dependency>
模拟登录成功后如下方法设置cookie
cookieStore = new BasicCookieStore();
BasicClientCookie cookie = new BasicClientCookie("sessionid", "w8d6rsyq01t7vvkigb2gd52j63hmyjpw");
cookie.setVersion(0);
cookie.setDomain("10.5.26.24:8000");
cookie.setPath("/");
cookieStore.addCookie(cookie);
// 有了cookieStore
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
// HttpClient
CloseableHttpClient closeableHttpClient = httpClientBuilder.setDefaultCookieStore(cookieStore).build();
closeableHttpClient.execute(httpGet) 执行请求总是失败,然后简单粗暴可以实现
HttpGet HttpGet = new HttpGet(getUrl);
// 设置请求和传输超时时间
RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(30000).setConnectTimeout(30000)
.setRedirectsEnabled(false) // 不自动重定向
.build();
HttpGet.setConfig(requestConfig);
HttpGet.setHeader("Cookie","csrftoken=MgNuHIfuLkkY66wiWIyKjGqAiUXtQo4LH9zZjm9vRensEIo5YQIgjvmmhvvmWyEJ;sessionid=w8d6rsyq01t7vvkigb2gd52j63hmyjpw");
HttpGet.setHeader("Cookie","cookiekey=cookieval;cookiekey=cookieval");
耽误我两个小时模拟登录不了的问题终于解决,亲自验证有效!!!