这个类位于org.apache.http.client.config包下,主要用于获取和配置一些外部的网络环境,它下面有一个嵌套类RequestConfig.Builder,顾名思义,它肯定是用来配置网络环境的(姑且叫它“配置器”吧)。其使用方法是:先用RequestConfig类的静态方法custom()获取equestConfig.Builder“配置器”,然后再用其下各种方法配置网络环境;或者已经有配置好的RequestConfig对象(非RequestConfig.Builder)而将此对象拷贝(RequestConfig类的copy()方法)过来返回“配置器“而重新进行其它的网络环境的配置。最终,再调用配置器的buillder()方法返回RequestConfig对象。
- RequestConfig defaultRequestConfig = RequestConfig.custom()
- .setCookieSpec(CookieSpecs.BEST_MATCH)
- .setExpectContinueEnabled(true)
- .setStaleConnectionCheckEnabled(true)
- .setTargetPreferredAuthSchemes(Arrays.asList(AuthSchemes.NTLM, AuthSchemes.DIGEST))
- .setProxyPreferredAuthSchemes(Arrays.asList(AuthSchemes.BASIC))
- .build();
- RequestConfig requestConfig = RequestConfig.copy(defaultRequestConfig)
- .setSocketTimeout(5000)
- .setConnectTimeout(5000)
- .setConnectionRequestTimeout(5000)
- .setProxy(new HttpHost("myotherproxy", 8080))
- .build();
配置好请求信息之后,那么接下的问题就是将配置好请求信息附加到http请求中
- HttpGet httpget = new HttpGet("http://www.xjweb88.com");
- httpget.setConfig(requestConfig);
-
2、setCircularRedirectsAllowed(boolean circularRedirectsAllowed)
-
3、 setConnectionRequestTimeout(int connectionRequestTimeout)
-
4、setConnectTimeout(int connectTimeout)
-
5、setCookieSpec(String cookieSpec)
-
6、setExpectContinueEnabled(boolean expectContinueEnabled)
-
7、 setLocalAddress(InetAddress localAddress)
-
8、setMaxRedirects(int maxRedirects)
-
9、setProxy(HttpHost proxy)
-
10、setProxyPreferredAuthSchemes(Collection proxyPreferredAuthSchemes)
-
11、 setRedirectsEnabled(boolean redirectsEnabled)
-
12、setRelativeRedirectsAllowed(boolean relativeRedirectsAllowed)
-
13、setSocketTimeout(int socketTimeout)
-
14、setStaleConnectionCheckEnabled(boolean staleConnectionCheckEnabled)
-
15、setTargetPreferredAuthSchemes(Collection targetPreferredAuthSchemes)
-
16、build()
-
RequestConfig.Buillder配置中的方法
1、setAuthenticationEnabled(boolean authenticationEnabled)-
2、getConnectTimeout()
-
3、getCookieSpec()
-
4、getLocalAddress()
-
5、 getMaxRedirects()
-
6、getProxy()
-
7、getProxyPreferredAuthSchemes()
-
8、 getSocketTimeout()
-
9、getTargetPreferredAuthSchemes()
-
10、 isAuthenticationEnabled()
-
11、 isCircularRedirectsAllowed()
-
12、isExpectContinueEnabled()
-
13、 isRedirectsEnabled()
-
14、 isRelativeRedirectsAllowed()
-
15、 isStaleConnectionCheckEnabled()
-
16、toString()