List of usage examples for org.apache.http.cookie CookieSpecProvider CookieSpecProvider
CookieSpecProvider
From source file:org.aliuge.crawler.fetcher.DefaultFetcher.java
public DefaultFetcher createFetcher(FetchConfig config) { // // w ww. j a va 2 s .c o m connectionManager = new PoolingHttpClientConnectionManager(); BasicCookieStore cookieStore = new BasicCookieStore(); CookieSpecProvider easySpecProvider = new CookieSpecProvider() { public CookieSpec create(HttpContext context) { return new BrowserCompatSpec() { @Override public void validate(Cookie cookie, CookieOrigin origin) throws MalformedCookieException { // Oh, I am easy } }; } }; Registry<CookieSpecProvider> r = RegistryBuilder.<CookieSpecProvider>create() .register(CookieSpecs.BEST_MATCH, new BestMatchSpecFactory()) .register(CookieSpecs.BROWSER_COMPATIBILITY, new BrowserCompatSpecFactory()) .register("easy", easySpecProvider).build(); // Create global request configuration defaultRequestConfig = RequestConfig.custom().setCookieSpec("easy").setSocketTimeout(10000) .setConnectTimeout(10000).build(); connectionManager.setMaxTotal(config.getMaxTotalConnections()); connectionManager.setDefaultMaxPerRoute(config.getMaxConnectionsPerHost()); // Create an HttpClient with the given custom dependencies and // configuration. httpClient = HttpClients.custom().setConnectionManager(connectionManager).setDefaultCookieStore(cookieStore) .setDefaultCookieSpecRegistry(r) /* .setProxy(new HttpHost("myproxy", 8080)) */ .setDefaultRequestConfig(defaultRequestConfig).build(); if (connectionMonitorThread == null) { connectionMonitorThread = new IdleConnectionMonitorThread(connectionManager); } /* * connectionMonitorThread.start(); try { * connectionMonitorThread.join(); } catch (InterruptedException e) { // * TODO Auto-generated catch block e.printStackTrace(); } */ return this; }
From source file:com.ibm.twitter.TwitterInsights.java
public Sentiment getSentimentCount(String bookTitle, String bookAuthor, String sentimentType) { SentimentSearch returnedSentiment = new SentimentSearch(); try {// w w w .j av a 2 s.co m CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); credentialsProvider.setCredentials(new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT), new UsernamePasswordCredentials(usernameTwitter, passwordTwitter)); CookieStore cookieStore = new BasicCookieStore(); CookieSpecProvider csf = new CookieSpecProvider() { @Override public CookieSpec create(HttpContext context) { return new DefaultCookieSpec() { @Override public void validate(Cookie cookie, CookieOrigin origin) throws MalformedCookieException { // Allow all cookies } }; } }; RequestConfig requestConfig = RequestConfig.custom().setCookieSpec("easy").setSocketTimeout(15 * 1000) .setConnectTimeout(15 * 1000).build(); CloseableHttpClient httpClient = HttpClientBuilder.create() .setDefaultCredentialsProvider(credentialsProvider).setDefaultCookieStore(cookieStore) .setDefaultCookieSpecRegistry(RegistryBuilder.<CookieSpecProvider>create() .register(CookieSpecs.DEFAULT, csf).register("easy", csf).build()) .setDefaultRequestConfig(requestConfig).build(); URIBuilder builder = new URIBuilder(); builder.setScheme("https").setHost(baseURLTwitter).setPath("/api/v1/messages/count").setParameter("q", "\"" + bookTitle + "\"" + " AND " + "\"" + bookAuthor + "\"" + " AND " + "sentiment:" + sentimentType); URI uri = builder.build(); HttpGet httpGet = new HttpGet(uri); httpGet.setHeader("Content-Type", "text/plain"); HttpResponse httpResponse = httpClient.execute(httpGet); if (httpResponse.getStatusLine().getStatusCode() == 200) { BufferedReader rd = new BufferedReader( new InputStreamReader(httpResponse.getEntity().getContent(), "UTF-8")); // Read all the books from the best seller list ObjectMapper mapper = new ObjectMapper(); returnedSentiment = mapper.readValue(rd, SentimentSearch.class); } else { logger.error("could not get tweets from IBM insights http code {}", httpResponse.getStatusLine().getStatusCode()); } } catch (Exception e) { logger.error("Twitter error: {}", e.getMessage()); } return new Sentiment(sentimentType, returnedSentiment.getCount()); }
From source file:com.baidu.rigel.biplatform.ac.util.HttpRequest.java
/** * ?HttpClientheadapplication/json//from w w w . j a v a2 s .c o m * * @return HttpClient */ public static HttpClient getDefaultHttpClient(Map<String, String> params) { if (client == null) { CookieSpecProvider cookieSpecProvider = new CookieSpecProvider() { @Override public CookieSpec create(HttpContext context) { return new BrowserCompatSpec() { @Override public void validate(Cookie cookie, CookieOrigin origin) throws MalformedCookieException { //no check cookie } }; } }; Lookup<CookieSpecProvider> cookieSpecRegistry = RegistryBuilder.<CookieSpecProvider>create() .register(NO_CHECK_COOKIES, cookieSpecProvider).build(); String socketTimeout = "50000"; String connTimeout = "1000"; if (params != null) { if (params.containsKey(SOCKET_TIME_OUT)) { socketTimeout = params.get(SOCKET_TIME_OUT); } if (params.containsKey(CONNECTION_TIME_OUT)) { socketTimeout = params.get(CONNECTION_TIME_OUT); } } // cookie? RequestConfig requestConfigBuilder = RequestConfig.custom().setCookieSpec(NO_CHECK_COOKIES) .setSocketTimeout(Integer.valueOf(socketTimeout)) // ms ??? .setConnectTimeout(Integer.valueOf(connTimeout)) // ms??? .build(); client = HttpClients.custom().setDefaultCookieSpecRegistry(cookieSpecRegistry) .setDefaultRequestConfig(requestConfigBuilder).build(); } return client; }
From source file:com.ibm.twitter.TwitterInsights.java
public TweetList getTweetList(String bookTitle, String bookAuthor) { TweetList returnedTweets = new TweetList(); try {/*from w w w . ja v a 2 s. c o m*/ CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); credentialsProvider.setCredentials(new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT), new UsernamePasswordCredentials(usernameTwitter, passwordTwitter)); CookieStore cookieStore = new BasicCookieStore(); CookieSpecProvider csf = new CookieSpecProvider() { @Override public CookieSpec create(HttpContext context) { return new DefaultCookieSpec() { @Override public void validate(Cookie cookie, CookieOrigin origin) throws MalformedCookieException { // Allow all cookies } }; } }; RequestConfig requestConfig = RequestConfig.custom().setCookieSpec("easy").setSocketTimeout(10 * 1000) .setConnectTimeout(10 * 1000).build(); CloseableHttpClient httpClient = HttpClientBuilder.create() .setDefaultCredentialsProvider(credentialsProvider).setDefaultCookieStore(cookieStore) .setDefaultCookieSpecRegistry(RegistryBuilder.<CookieSpecProvider>create() .register(CookieSpecs.DEFAULT, csf).register("easy", csf).build()) .setDefaultRequestConfig(requestConfig).build(); URIBuilder builder = new URIBuilder(); builder.setScheme("https").setHost(baseURLTwitter).setPath("/api/v1/messages/search") .setParameter("q", "\"" + bookTitle + "\"" + " AND " + "\"" + bookAuthor + "\"") .setParameter("size", "5"); URI uri = builder.build(); HttpGet httpGet = new HttpGet(uri); httpGet.setHeader("Content-Type", "text/plain"); HttpResponse httpResponse = httpClient.execute(httpGet); if (httpResponse.getStatusLine().getStatusCode() == 200) { BufferedReader rd = new BufferedReader( new InputStreamReader(httpResponse.getEntity().getContent(), "UTF-8")); // Read all the books from the best seller list ObjectMapper mapper = new ObjectMapper(); returnedTweets = mapper.readValue(rd, TweetList.class); } } catch (Exception e) { logger.error("Twitter error: {}", e.getMessage()); } return returnedTweets; }