httpclient4.3.3详解一:RequestConfig类解析

本文详细介绍Apache HttpClient中的RequestConfig类及其Builder子类的使用方法。通过示例代码展示如何配置网络请求参数,如超时时间、代理设置等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个类位于org.apache.http.client.config包下,主要用于获取和配置一些外部的网络环境,它下面有一个嵌套类RequestConfig.Builder,顾名思义,它肯定是用来配置网络环境的(姑且叫它“配置器”吧)。其使用方法是:先用RequestConfig类的静态方法custom()获取equestConfig.Builder“配置器”,然后再用其下各种方法配置网络环境;或者已经有配置好的RequestConfig对象(非RequestConfig.Builder)而将此对象拷贝(RequestConfig类的copy()方法)过来返回“配置器“而重新进行其它的网络环境的配置。最终,再调用配置器的buillder()方法返回RequestConfig对象。

  1. RequestConfig defaultRequestConfig = RequestConfig.custom()  
  2.        .setCookieSpec(CookieSpecs.BEST_MATCH)  
  3.        .setExpectContinueEnabled(true)  
  4.        .setStaleConnectionCheckEnabled(true)  
  5.        .setTargetPreferredAuthSchemes(Arrays.asList(AuthSchemes.NTLM, AuthSchemes.DIGEST))  
  6.        .setProxyPreferredAuthSchemes(Arrays.asList(AuthSchemes.BASIC))  
  7.        .build();  
  8. RequestConfig requestConfig = RequestConfig.copy(defaultRequestConfig)  
  9.         .setSocketTimeout(5000)  
  10.         .setConnectTimeout(5000)  
  11.         .setConnectionRequestTimeout(5000)  
  12.         .setProxy(new HttpHost("myotherproxy"8080))  
  13.         .build();  
  14.          

配置好请求信息之后,那么接下的问题就是将配置好请求信息附加到http请求中

  1. HttpGet httpget = new HttpGet("http://www.xjweb88.com");  
  2. httpget.setConfig(requestConfig);  

RequestConfig.Buillder配置中的方法

1、setAuthenticationEnabled(boolean authenticationEnabled)

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类中的方法

1、 getConnectionRequestTimeout()

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()

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值