/** * 初始化httpclient对象 */ private static void buildHttpClient() { RequestConfig globalConfig = RequestConfig.custom().setConnectTimeout(5000) .setSocketTimeout(5000).build(); CloseableHttpClient httpclient = HttpClients.custom().setKeepAliveStrategy(new HttpClientKeepAliveStrategy()) .setDefaultRequestConfig(globalConfig).build(); HttpClientUtil.httpclient = httpclient; }
.setKeepAliveStrategy(new ConnectionKeepAliveStrategy() { @Override public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
.setKeepAliveStrategy(new ConnectionKeepAliveStrategy() { @Override public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
public CloseableHttpClient build() throws Exception { HttpClientBuilder builder = HttpClients.custom(); builder.useSystemProperties(); builder .setDefaultSocketConfig(SocketConfig.custom() .setTcpNoDelay(true) .setSoKeepAlive(true) .build() ) .setKeepAliveStrategy(DefaultConnectionKeepAliveStrategy.INSTANCE); HostnameVerifier hostnameVerifier = sslVerificationMode.verifier(); TrustStrategy trustStrategy = sslVerificationMode.trustStrategy(); KeyStore trustStore = agentTruststore(); SSLContextBuilder sslContextBuilder = SSLContextBuilder.create() .setProtocol(systemEnvironment.get(SystemEnvironment.GO_SSL_TRANSPORT_PROTOCOL_TO_BE_USED_BY_AGENT)); if (trustStore != null || trustStrategy != null) { sslContextBuilder.loadTrustMaterial(trustStore, trustStrategy); } sslContextBuilder.loadKeyMaterial(agentKeystore(), keystorePassword().toCharArray()); SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(sslContextBuilder.build(), hostnameVerifier); builder.setSSLSocketFactory(sslConnectionSocketFactory); return builder.build(); }
.setKeepAliveStrategy(buildKeepAliveStrategy(settings)) .disableRedirectHandling() .disableAutomaticRetries()
builder.setKeepAliveStrategy(new DefaultConnectionKeepAliveStrategy() { @Override public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
/** * Assigns {@link ConnectionKeepAliveStrategy} instance. */ public final CustomHttpClientBuilder setKeepAliveStrategy( final ConnectionKeepAliveStrategy keepAliveStrategy) { this.builder.setKeepAliveStrategy(keepAliveStrategy); return this; }
/** * @param keepAliveStrategy * @return This object (for method chaining). * @see HttpClientBuilder#setKeepAliveStrategy(ConnectionKeepAliveStrategy) */ public RestClientBuilder keepAliveStrategy(ConnectionKeepAliveStrategy keepAliveStrategy) { httpClientBuilder.setKeepAliveStrategy(keepAliveStrategy); return this; }
/** * @param keepAliveStrategy * @return This object (for method chaining). * @see HttpClientBuilder#setKeepAliveStrategy(ConnectionKeepAliveStrategy) */ public RestClientBuilder keepAliveStrategy(ConnectionKeepAliveStrategy keepAliveStrategy) { httpClientBuilder.setKeepAliveStrategy(keepAliveStrategy); return this; }
/** * @param keepAliveStrategy * @return This object (for method chaining). * @see HttpClientBuilder#setKeepAliveStrategy(ConnectionKeepAliveStrategy) */ public RestClientBuilder keepAliveStrategy(ConnectionKeepAliveStrategy keepAliveStrategy) { httpClientBuilder.setKeepAliveStrategy(keepAliveStrategy); return this; }
.setKeepAliveStrategy(buildKeepAliveStrategy(settings)) .disableRedirectHandling() .disableAutomaticRetries()
/** * 初始化httpclient对象 */ private static void buildHttpClient() { RequestConfig globalConfig = RequestConfig.custom().setConnectTimeout(5000) .setSocketTimeout(5000).build(); CloseableHttpClient httpclient = HttpClients.custom().setKeepAliveStrategy(new HttpClientKeepAliveStrategy()) .setDefaultRequestConfig(globalConfig).build(); HttpClientUtil.httpclient = httpclient; }
/** * Creates HTTP connection based on the connection pool * * @return HTTP client */ public CloseableHttpClient createHttpConnection() { LOG.trace("HTTP build new connection based on connection pool"); return HttpClients .custom() .setRetryHandler(getRetryHandler()) .setConnectionManager(connectionPool) .setDefaultRequestConfig(rConfig) .setKeepAliveStrategy(myStrategy) .build(); } }
/** * Creates HTTP connection based on the connection pool * * @return HTTP client */ public CloseableHttpClient createHttpConnection() { LOG.trace("HTTP build new connection based on connection pool"); return HttpClients .custom() .setRetryHandler(getRetryHandler()) .setConnectionManager(connectionPool) .setDefaultRequestConfig(rConfig) .setKeepAliveStrategy(myStrategy) .build(); } }
private static void init() { context = HttpClientContext.create(); cookieStore = new BasicCookieStore(); // 配置超时时间(连接服务端超时1秒,请求数据返回超时2秒) requestConfig = RequestConfig.custom().setConnectTimeout(6000).setSocketTimeout(6000) .setConnectionRequestTimeout(6000).build(); // 设置默认跳转以及存储cookie httpClient = HttpClientBuilder.create().setKeepAliveStrategy(new DefaultConnectionKeepAliveStrategy()) .setRedirectStrategy(new DefaultRedirectStrategy()).setDefaultRequestConfig(requestConfig) .setDefaultCookieStore(cookieStore).build(); }
@Bean public CloseableHttpClient httpClient() { RequestConfig requestConfig = RequestConfig.custom() .setConnectionRequestTimeout(p.getRequestTimeout()) .setConnectTimeout(p.getConnectTimeout()) .setSocketTimeout(p.getSocketTimeout()).build(); return HttpClients.custom() .setDefaultRequestConfig(requestConfig) .setConnectionManager(poolingConnectionManager()) .setKeepAliveStrategy(connectionKeepAliveStrategy()) .setRetryHandler(new DefaultHttpRequestRetryHandler(3, true)) // 重试次数 .build(); }
public CloseableHttpClient buildClient() throws Exception { return HttpClientBuilder.create() .setConnectionManager(getConnectionManager()) .setKeepAliveStrategy(createKeepAliveStrategy()) .setDefaultConnectionConfig(getConnectionConfig()) .setDefaultRequestConfig(getRequestConfig()) .setDefaultHeaders(getDefaultHeaders()) .disableContentCompression() // gzip здесь ни к чему. Используется lz4 при compress=1 .build(); }
public static CloseableHttpClient create(HttpClientConnectionManager connectionManager, OnrampOptions options) { return org.apache.http.impl.client.HttpClientBuilder .create() .setUserAgent(userAgent()) .setConnectionManager(connectionManager) .setDefaultRequestConfig(requestConfig()) .setConnectionReuseStrategy(DefaultClientConnectionReuseStrategy.INSTANCE) .setKeepAliveStrategy(DefaultConnectionKeepAliveStrategy.INSTANCE) .setRetryHandler(getRetryHandler(options)) .setServiceUnavailableRetryStrategy(new DefaultServiceUnavailableRetryStrategy(1, 500)) .build(); }
public CloseableHttpClient buildClient() throws Exception { return HttpClientBuilder.create() .setConnectionManager(getConnectionManager()) .setKeepAliveStrategy(createKeepAliveStrategy()) .setDefaultConnectionConfig(getConnectionConfig()) .setDefaultRequestConfig(getRequestConfig()) .setDefaultHeaders(getDefaultHeaders()) .disableContentCompression() // gzip здесь ни к чему. Используется lz4 при compress=1 .build(); }
@Override public void customize(final HttpClientPlan plan) { checkNotNull(plan); plan.setUserAgentBase(userAgentGenerator.generate()); plan.getClient().setKeepAliveStrategy(new NexusConnectionKeepAliveStrategy(keepAliveDuration.toMillis())); plan.getClient().setRetryHandler(new StandardHttpRequestRetryHandler(2, false)); plan.getConnection().setBufferSize(bufferSize.toBytesI()); plan.getRequest().setConnectionRequestTimeout(connectionRequestTimeout.toMillisI()); plan.getRequest().setCookieSpec(CookieSpecs.IGNORE_COOKIES); plan.getRequest().setExpectContinueEnabled(false); int requestTimeoutMillis = requestTimeout.toMillisI(); plan.getSocket().setSoTimeout(requestTimeoutMillis); plan.getRequest().setConnectTimeout(requestTimeoutMillis); plan.getRequest().setSocketTimeout(requestTimeoutMillis); } }