List of usage examples for org.apache.http.client.config RequestConfig custom
public static RequestConfig.Builder custom()
From source file:sabina.integration.TestScenario.java
TestScenario(String backend, int port, boolean secure, boolean externalFiles) { this.port = port; this.backend = backend; this.secure = secure; this.externalFiles = externalFiles; SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(getSslFactory(), ALLOW_ALL_HOSTNAME_VERIFIER); Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create() .register("http", PlainConnectionSocketFactory.INSTANCE) .register("https", sslConnectionSocketFactory).build(); HttpClientConnectionManager connManager = new BasicHttpClientConnectionManager(socketFactoryRegistry, new ManagedHttpClientConnectionFactory()); RequestConfig globalConfig = RequestConfig.custom().setCookieSpec(CookieSpecs.NETSCAPE).build(); cookieStore = new BasicCookieStore(); HttpClientContext context = HttpClientContext.create(); context.setCookieStore(cookieStore); this.httpClient = HttpClients.custom().setSchemePortResolver(h -> { Args.notNull(h, "HTTP host"); final int port1 = h.getPort(); if (port1 > 0) { return port1; }//from w w w. jav a2s . co m final String name = h.getSchemeName(); if (name.equalsIgnoreCase("http")) { return port1; } else if (name.equalsIgnoreCase("https")) { return port1; } else { throw new UnsupportedSchemeException("unsupported protocol: " + name); } }).setConnectionManager(connManager).setDefaultRequestConfig(globalConfig).build(); }
From source file:com.kms.core.io.HttpUtil_In.java
public static RequestConfig getConfig() { // Proxy /*from w w w.j a v a 2 s . c o m*/ final HttpHost proxy = new HttpHost("krproxy.apac.nsroot.net", 8080); //HttpHost proxy = new HttpHost("192.193.81.42", 8080); final RequestConfig config = RequestConfig.custom().setProxy(proxy).build(); return config; }
From source file:edu.mit.scratch.ScratchUser.java
public void setFollowing(final ScratchSession session, final boolean following) throws ScratchUserException { try {//from w ww . j a v a 2s. c o m final RequestConfig globalConfig = RequestConfig.custom().setCookieSpec(CookieSpecs.DEFAULT).build(); final BasicCookieStore cookieStore = new BasicCookieStore(); final BasicClientCookie lang = new BasicClientCookie("scratchlanguage", "en"); final BasicClientCookie sessionid = new BasicClientCookie("scratchsessionsid", session.getSessionID()); final BasicClientCookie token = new BasicClientCookie("scratchcsrftoken", session.getCSRFToken()); final BasicClientCookie debug = new BasicClientCookie("DEBUG", "true"); lang.setDomain(".scratch.mit.edu"); lang.setPath("/"); sessionid.setDomain(".scratch.mit.edu"); sessionid.setPath("/"); token.setDomain(".scratch.mit.edu"); token.setPath("/"); debug.setDomain(".scratch.mit.edu"); debug.setPath("/"); cookieStore.addCookie(lang); cookieStore.addCookie(sessionid); cookieStore.addCookie(token); cookieStore.addCookie(debug); final CloseableHttpClient httpClient = HttpClients.custom().setDefaultRequestConfig(globalConfig) .setUserAgent(Scratch.USER_AGENT).setDefaultCookieStore(cookieStore).build(); CloseableHttpResponse resp; final HttpUriRequest update = RequestBuilder.put() .setUri("https://scratch.mit.edu/site-api/users/followers/" + this.getUsername() + "/" + ((following) ? "add" : "remove") + "/?usernames=" + session.getUsername()) .addHeader("Accept", "application/json, text/javascript, */*; q=0.01") .addHeader("Referer", "https://scratch.mit.edu/users/" + this.getUsername() + "/") .addHeader("Origin", "https://scratch.mit.edu") .addHeader("Accept-Encoding", "gzip, deflate, sdch") .addHeader("Accept-Language", "en-US,en;q=0.8").addHeader("Content-Type", "application/json") .addHeader("Content-Encoding", "gzip").addHeader("X-Requested-With", "XMLHttpRequest") .addHeader("Cookie", "scratchsessionsid=" + session.getSessionID() + "; scratchcsrftoken=" + session.getCSRFToken()) .addHeader("X-CSRFToken", session.getCSRFToken()).build(); try { resp = httpClient.execute(update); if (resp.getStatusLine().getStatusCode() != 200) throw new ScratchUserException(); } catch (final Exception e) { e.printStackTrace(); throw new ScratchUserException(); } BufferedReader rd; try { rd = new BufferedReader(new InputStreamReader(resp.getEntity().getContent())); } catch (UnsupportedOperationException | IOException e) { e.printStackTrace(); throw new ScratchUserException(); } final StringBuffer result = new StringBuffer(); String line = ""; while ((line = rd.readLine()) != null) result.append(line); // result = your json data } catch (final UnsupportedEncodingException e) { e.printStackTrace(); throw new ScratchUserException(); } catch (final IOException e) { e.printStackTrace(); throw new ScratchUserException(); } }
From source file:com.aliyun.oss.common.comm.DefaultServiceClient.java
public DefaultServiceClient(ClientConfiguration config) { super(config); this.connectionManager = createHttpClientConnectionManager(); this.httpClient = createHttpClient(this.connectionManager); RequestConfig.Builder requestConfigBuilder = RequestConfig.custom(); requestConfigBuilder.setConnectTimeout(config.getConnectionTimeout()); requestConfigBuilder.setSocketTimeout(config.getSocketTimeout()); requestConfigBuilder.setConnectionRequestTimeout(config.getConnectionRequestTimeout()); String proxyHost = config.getProxyHost(); int proxyPort = config.getProxyPort(); if (proxyHost != null && proxyPort > 0) { this.proxyHttpHost = new HttpHost(proxyHost, proxyPort); requestConfigBuilder.setProxy(proxyHttpHost); String proxyUsername = config.getProxyUsername(); String proxyPassword = config.getProxyPassword(); String proxyDomain = config.getProxyDomain(); String proxyWorkstation = config.getProxyWorkstation(); if (proxyUsername != null && proxyPassword != null) { this.credentialsProvider = new BasicCredentialsProvider(); this.credentialsProvider.setCredentials(new AuthScope(proxyHost, proxyPort), new NTCredentials(proxyUsername, proxyPassword, proxyWorkstation, proxyDomain)); this.authCache = new BasicAuthCache(); authCache.put(this.proxyHttpHost, new BasicScheme()); }/*from ww w. j av a2s .c o m*/ } this.requestConfig = requestConfigBuilder.build(); }
From source file:io.seldon.external.ExternalPredictionServer.java
@Autowired public ExternalPredictionServer(GlobalConfigHandler globalConfigHandler, ClientRpcStore rpcStore) { cm = new PoolingHttpClientConnectionManager(); cm.setMaxTotal(150);/*from w w w . j a va2s .c om*/ cm.setDefaultMaxPerRoute(150); RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(DEFAULT_REQ_TIMEOUT) .setConnectTimeout(DEFAULT_CON_TIMEOUT).setSocketTimeout(DEFAULT_SOCKET_TIMEOUT).build(); httpClient = HttpClients.custom().setConnectionManager(cm).setDefaultRequestConfig(requestConfig).build(); globalConfigHandler.addSubscriber(ZK_CONFIG_TEMP, this); this.rpcStore = rpcStore; }
From source file:org.esigate.test.cases.PerformanceTestCase.java
/** * Execute la tache avec plusieurs Threads * /*from w w w.j a v a 2s . co m*/ * @param request * @return * @throws Exception */ private long execute(HttpGetRequestRunnable request, int numberOfRequests, int threads) throws Exception { connectionManager = new PoolingHttpClientConnectionManager(); httpClient = HttpClientBuilder.create().setConnectionManager(connectionManager).setMaxConnTotal(threads) .setMaxConnPerRoute(threads).setDefaultRequestConfig( RequestConfig.custom().setConnectTimeout(10000).setSocketTimeout(10000).build()) .build(); // Warm up request.run(); BlockingQueue<Runnable> queue = new LinkedBlockingQueue<Runnable>(); ThreadPoolExecutor threadPool = new ThreadPoolExecutor(threads, threads, 5, TimeUnit.SECONDS, queue); long start = System.currentTimeMillis(); threadPool.prestartAllCoreThreads(); for (int i = 0; i < numberOfRequests; i++) { threadPool.submit(request); } threadPool.shutdown(); // wait maximum 20 s threadPool.awaitTermination(200, TimeUnit.SECONDS); connectionManager.shutdown(); if (request.exception != null) { throw new AssertionFailedError( "Exception for request " + request.url + " after " + request.count + " requests", request.exception); } if (threadPool.getCompletedTaskCount() < threadPool.getTaskCount()) { // All task were not executed String msg = request.url + " : Only " + threadPool.getCompletedTaskCount() + "/" + threadPool.getTaskCount() + " have been renderered " + " => Maybe a performance issue"; threadPool.shutdownNow(); fail(msg); } long end = System.currentTimeMillis(); long execTime = end - start; LOG.debug("Executed request " + request.url + " " + numberOfRequests + " times with " + threads + " threads in " + execTime + "ms"); return execTime; }
From source file:org.muhia.app.psi.integ.config.ke.crba.CreditReferenceBureauAuthorityClientConfiguration.java
@Bean(name = "transunionHttpClient") public CloseableHttpClient httpClient() { RequestConfig config = RequestConfig.custom() .setConnectTimeout(properties.getCrbaTransportConnectionTimeout()) .setConnectionRequestTimeout(properties.getCrbaTransportConnectionRequestTimeout()) .setSocketTimeout(properties.getCrbaTransportReadTimeout()).build(); CredentialsProvider provider = new BasicCredentialsProvider(); UsernamePasswordCredentials credentials = new UsernamePasswordCredentials( properties.getCrbaTransunionTransportUsername(), properties.getCrbaTransunionTransportPassword()); provider.setCredentials(AuthScope.ANY, credentials); PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(); connManager.setMaxTotal(properties.getCrbaPoolMaxHost()); connManager.setDefaultMaxPerRoute(properties.getCrbaPoolDefaultmaxPerhost()); connManager.setValidateAfterInactivity(properties.getCrbaPoolValidateAfterInactivity()); return HttpClientBuilder.create().setDefaultRequestConfig(config).setDefaultCredentialsProvider(provider) .setConnectionManager(connManager).evictExpiredConnections() .addInterceptorFirst(new RemoveHttpHeadersInterceptor()).build(); }
From source file:org.daybreak.coccinella.webmagic.CrawlerDownloader.java
@Override public Page download(Request request, Task task) { Site site = null;// w w w . j ava 2s. c o m if (task != null) { site = task.getSite(); } Set<Integer> acceptStatCode; String charset = null; Map<String, String> headers = null; if (site != null) { acceptStatCode = site.getAcceptStatCode(); charset = site.getCharset(); headers = site.getHeaders(); } else { acceptStatCode = Sets.newHashSet(200); } logger.info("downloading page " + request.getUrl()); RequestBuilder requestBuilder = null; if (request instanceof CrawlerRequest) { CrawlerRequest crawlerRequest = (CrawlerRequest) request; if (StringUtils.isNotBlank(crawlerRequest.getCrawler().getReferer())) { site.addHeader(HttpHeaders.REFERER, crawlerRequest.getCrawler().getReferer()); } if (crawlerRequest.getCrawler().getMethod() == HttpMethod.GET) { requestBuilder = RequestBuilder.get().setUri(request.getUrl()); } else if (crawlerRequest.getCrawler().getMethod() == HttpMethod.POST) { try { requestBuilder = RequestBuilder.post().setUri(crawlerRequest.getUrl()) .setEntity(crawlerRequest.createEntity()); } catch (UnsupportedEncodingException ex) { logger.warn("The encoding is not supported: " + crawlerRequest.getCrawler().getEncode()); return null; } } } if (requestBuilder == null) { return null; } if (headers != null) { for (Map.Entry<String, String> headerEntry : headers.entrySet()) { requestBuilder.addHeader(headerEntry.getKey(), headerEntry.getValue()); } } RequestConfig.Builder requestConfigBuilder = RequestConfig.custom() .setConnectionRequestTimeout(site.getTimeOut()).setSocketTimeout(site.getTimeOut()) .setConnectTimeout(site.getTimeOut()).setCookieSpec(CookieSpecs.BEST_MATCH); if (site != null && site.getHttpProxy() != null) { requestConfigBuilder.setProxy(site.getHttpProxy()); } requestBuilder.setConfig(requestConfigBuilder.build()); CloseableHttpResponse httpResponse = null; try { httpResponse = getHttpClient(site).execute(requestBuilder.build()); int statusCode = httpResponse.getStatusLine().getStatusCode(); if (acceptStatCode.contains(statusCode)) { // ?? Header[] resHeaders = httpResponse.getAllHeaders(); for (int i = 0; i < resHeaders.length; i++) { if (resHeaders[i].getName().equals("Set-Cookie")) { String cookie = resHeaders[i].getValue(); String cookieName = cookie.split("=")[0]; String cookieValue = cookie.split("=")[1].split(";")[0]; site.addCookie(cookieName, cookieValue); } } //charset if (charset == null) { String value = httpResponse.getEntity().getContentType().getValue(); charset = UrlUtils.getCharset(value); } return handleResponse(request, charset, httpResponse, task); } else { logger.warn("code error " + statusCode + "\t" + request.getUrl()); return null; } } catch (IOException e) { logger.warn("download page " + request.getUrl() + " error", e); if (site.getCycleRetryTimes() > 0) { return addToCycleRetry(request, site); } return null; } finally { try { if (httpResponse != null) { //ensure the connection is released back to pool EntityUtils.consume(httpResponse.getEntity()); } } catch (IOException e) { logger.warn("close response fail", e); } } }
From source file:com.apm4all.tracy.TracyAsyncHttpClientPublisher.java
@Override public boolean publish(String tracySegment) { boolean published = true; HttpPost httpPost;/* w ww .j a v a 2 s . co m*/ if (null != this.uri) { if (httpProxyConfig.isEnabled()) { HttpHost proxy = new HttpHost(httpProxyConfig.getHost(), httpProxyConfig.getPort(), "http"); RequestConfig reqConfig = RequestConfig.custom().setProxy(proxy).setAuthenticationEnabled(true) .setProxyPreferredAuthSchemes(Arrays.asList(AuthSchemes.BASIC)).build(); httpPost = new HttpPost(uri); httpPost.setConfig(reqConfig); } else { httpPost = new HttpPost(uri); } StringEntity se; try { se = new StringEntity(tracySegment, StandardCharsets.UTF_8); se.setContentType(MediaType.APPLICATION_JSON); httpPost.setEntity(se); httpPost.setHeader(HttpHeaders.CONTENT_TYPE, TRACY_CONTENT_TYPE); Future<HttpResponse> future = httpClient.execute(httpPost, null); if (waitForResponse) { HttpResponse response = future.get(); published = (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK); if (debug) { System.out.println(extractPostResponse(response)); } } } catch (Exception e) { } } return published; }