HttpClient如何进行RequestConfig的相关配置呢?

立山  金牌会员 | 2022-8-31 12:41:43 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 916|帖子 916|积分 2748

转自:
http://www.java265.com/JavaCourse/202204/2940.html
HttpClient是一个java语言编写的包,
我们使用HttpClient可以非常方便的发送Http请求
它使基于Http协议请求内容变得非常简单
HttpClient是Apache Jakarta Common下的子项目 它里面封装了很多使用http协议访问的工具,可用于高效访问http
 
下文笔者讲述基于HttpClient的RequestConfig配置的示例分享,如下所示:
  1. RequestConfig是httpClient中用于连接设置的对象
  2. 下文笔者将通过示例的方式,讲述RequestConfig的配置案例,如下所示:
复制代码
例:
  1. public void requestConfig(){  
  2. //      新建一个RequestConfig:  
  3.         RequestConfig defaultRequestConfig = RequestConfig.custom()  
  4.             //一、连接目标服务器超时时间:ConnectionTimeout-->指的是连接一个url的连接等待时间  
  5.             .setConnectTimeout(5000)  
  6.             //二、读取目标服务器数据超时时间:SocketTimeout-->指的是连接上一个url,获取response的返回等待时间  
  7.             .setSocketTimeout(5000)  
  8.             //三、从连接池获取连接的超时时间:ConnectionRequestTimeout  
  9.             .setConnectionRequestTimeout(5000)  
  10.             .build();  
  11.            
  12. //      这个超时可以设置为客户端级别,作为所有请求的默认值:  
  13.         CloseableHttpClient httpclient = HttpClients.custom()  
  14.             .setDefaultRequestConfig(defaultRequestConfig)  
  15.             .build();  
  16. //       httpclient.execute(httppost);的时候可以让httppost直接享受到httpclient中的默认配置.  
  17.            
  18. //      Request不会继承客户端级别的请求配置,所以在自定义Request的时候,需要将客户端的默认配置拷贝过去:  
  19.         HttpGet httpget = new HttpGet("http://www.apache.org/");  
  20.         RequestConfig requestConfig = RequestConfig.copy(defaultRequestConfig)  
  21.             .setProxy(new HttpHost("myotherproxy", 8080))  
  22.             .build();  
  23.         httpget.setConfig(requestConfig);  
  24. //      httpget可以单独地使用新copy的requestConfig请求配置,不会对别的request请求产生影响  
  25.     }
复制代码
参考资料:http://www.java265.com/JavaCourse/202204/2934.html HttpUtils工具类

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

立山

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表