-
Notifications
You must be signed in to change notification settings - Fork 0
httpclient set cookie
ljsjava edited this page Mar 29, 2018
·
1 revision
public static String doHttp(String uri,String method,HttpEntity paras) { CloseableHttpClient httpClient = HttpClients.createDefault(); String result = null; try { HttpUriRequest request = RequestBuilder.create(method).setUri(uri).setEntity(paras).build();
//方法1
Lookup<CookieSpecProvider> lookup = (Lookup)RegistryBuilder.create().register(CookieSpecs.DEFAULT, new DefaultCookieSpecProvider()).build();
BasicCookieStore store = new BasicCookieStore();
BasicClientCookie cookie = new BasicClientCookie("userkey", "39c8c1d4-3a5b-48d9-9230-c5312464d18e");
cookie.setDomain("yyxt.ixianlai.cn");
store.addCookie(cookie);
HttpClientContext context = HttpClientContext.create();
context.setCookieStore(store);
context.setCookieSpecRegistry(lookup);
//方法2
//request.setHeader("Cookie", "userkey=39c8c1d4-3a5b-48d9-9230-c5312464d18e");
CloseableHttpResponse response = httpClient.execute(request,context);
Header[] headers = request.getAllHeaders();
for(Header header:headers) {
System.out.println(header.getName()+":"+header.getValue());
}
if(response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
HttpEntity entity = response.getEntity();
result = EntityUtils.toString(entity);
EntityUtils.consume(entity);
}else {
System.out.println("ReasonPhrase:"+response.getStatusLine().getReasonPhrase()+",StatusCode:"+response.getStatusLine().getStatusCode());
}
response.close();
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return result;
}