###3.X是这样的
HttpClient client=new DefaultHttpClient();
client.setConnectionTimeout(30000);
client.setTimeout(30000);
###4.X是这样的
HttpClient httpClient=new DefaultHttpClient();
httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,2000);//连接时间
httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,2000);//数据传输时间
###4.3是这样的
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet httpGet=new HttpGet("http://www.baidu.com");//HTTP Get请求(POST雷同)
RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(2000).setConnectTimeout(2000).build();//设置请求和传输超时时间
httpGet.setConfig(requestConfig);
httpClient.execute(httpGet);//执行请求
###4.5
4.5光靠set方法实测不好使,要覆盖重写这这那那,已经放弃了。
用过易语言某模块,用过python的requests,再回过头来,在一个http需求上浪费这么多精力,吼不住,本身就是为了方便才采用的http框架,结果真正使用起来还得自己封装一个httpclient-util,甚至还不如直接用jdk的HttpUrlConnection来的快。起初看在Apache的前缀,才去看的文档,写的demo,不可否认确实很规范,封装的很完善,只需要注意一下自动重定向,cookie管理,自动重试等等相关机制,基本上就能愉快使用。但是在实际开发中,远程服务调用有feign,resttemplate直接封装成对象;适用于安卓的有retrofit,okhttp自带丰富终端拦截器;适用于http代理池,爬虫,更有数不尽的轻量化http类库召之即来。跟httpclient说再见吧~
标题:解决httpclient超时设置不生效,附各版本设置方法
分类:HttpClient
链接:https://www.aqwdzy.com/content/99
版权:通天技术网(www.aqwdzy.com)所分享发布内容,部分为网络转载,如有侵权请立即联系方式,我们第一时间删除并致歉!
热烈庆祝通天技术网开业大吉
@通天技术网 热烈庆祝通天技术网开业大吉
热烈庆祝通天技术网开业大吉
@通天技术网 热烈庆祝通天技术网开业大吉