您的位置:首页 > 理论基础 > 计算机网络

ResponseProcessCookies:121 - Cookie rejected问题

2015-10-16 10:35 579 查看
采用的是Httpclient-4.3.3版本
public static String get(String url) {
HttpGet httpGet = null;
try {
CookieSpecProvider easySpecProvider = new CookieSpecProvider() {
@Override
public CookieSpec create(HttpContext context) {
return new BrowserCompatSpec() {
@Override
public void validate(Cookie cookie, CookieOrigin origin)
throws MalformedCookieException {
}
};
}
};

Registry<CookieSpecProvider> r = RegistryBuilder.<CookieSpecProvider> create()
.register(CookieSpecs.BEST_MATCH, new BestMatchSpecFactory())
.register(CookieSpecs.BROWSER_COMPATIBILITY,
new BrowserCompatSpecFactory())
.register("easy", easySpecProvider).build();
BasicCookieStore cookieStore = new BasicCookieStore();

HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
CloseableHttpClient closeableHttpClient = httpClientBuilder.setDefaultCookieStore(cookieStore).setDefaultCookieSpecRegistry(r).build();
httpGet = new HttpGet(url);

RequestConfig requestConfig = RequestConfig.custom().setCookieSpec("easy").setSocketTimeout(3000).setConnectTimeout(3000).build();
httpGet.setConfig(requestConfig);
HttpResponse httpResponse = closeableHttpClient.execute(httpGet);
Integer code = httpResponse.getStatusLine().getStatusCode();
HttpEntity entity = httpResponse.getEntity();
if (entity != null && code == 200) {
return EntityUtils.toString(entity);
} else {
return null;
}
} catch (Exception e) {
logger.warn("HttpUtil.get", e);
return null;
} finally {
if(httpGet != null){
httpGet.releaseConnection();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  httpclient