将setDefaultRequestConfig方法覆盖系统属性 - CloseableHttpClient

时间:2017-02-16 08:05:58

标签: httpclient apache-httpclient-4.x

我使用以下代码发出Http请求。

RequestConfig requestConfig = RequestConfig.custom()
                .setConnectTimeout(10000)
                .setConnectionRequestTimeout(10000)
                .setSocketTimeout(300000)
                .build();
CloseableHttpClient httpClient = HttpClientBuilder.create().useSystemProperties().setDefaultRequestConfig(requestConfig).build();

我的简单问题是,方法setDefaultRequestConfig是否会删除所有系统属性,并且只保留上面给出的属性,或者它只覆盖给定的属性,并在发出HTTP请求时保留其他系统属性。

1 个答案:

答案 0 :(得分:1)

HttpClientBuilder可以选择考虑的系统属性如下

  • ssl.TrustManagerFactory.algorithm
  • javax.net.ssl.trustStoreType
  • javax.net.ssl.trustStore中
  • javax.net.ssl.trustStoreProvider
  • javax.net.ssl.trustStorePassword中
  • ssl.KeyManagerFactory.algorithm
  • javax.net.ssl.keyStoreType
  • javax.net.ssl.keyStore
  • javax.net.ssl.keyStoreProvider
  • javax.net.ssl.keyStorePassword
  • https.protocols
  • https.cipherSuites
  • http.proxyHost
  • 把http.proxyPort
  • http.nonProxyHosts
  • http.keepAlive
  • http.maxConnections
  • http.agent

请求级别配置对任何这些设置都没有影响,但代理主机和端口除外。请求级别的代理设置将覆盖系统级别的代理设置。