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(); } } }
相关文章推荐
- ASP.NET MVC Web API HttpClient简介
- 使用httpclient实现免费的google翻译api
- PHP封装的HttpClient类用法实例
- Android 中HttpURLConnection与HttpClient使用的简单实例
- Android通过HttpURLConnection和HttpClient接口实现网络编程
- java实现HttpClient异步请求资源的方法
- 调用图灵机器人接口的问题
- volley框架下发送和读取cookie
- 浅谈HttpClient
- HttpClient不保存、发送Cookie
- HttpClient获取服务器JSON数据问题处理
- 学习 HTTP协议挺不错的一个类
- 通过Http协议下载文件、访问接口等等
- Apache HttpClient
- HttpClient 使用
- 了解HttpParser
- httpclient完全支持ssl连接方式
- httpclient的get和post请求
- httpclient的get和post请求