httpclient: 设置请求的超时时间,连接超时时间等

public static void main(String[] args) throws Exception{

		//创建httpclient
		CloseableHttpClient httpClient = HttpClients.createDefault();
		//创建http get
		HttpGet httpGet = new HttpGet("http://www.taotao.com/");
		//构建超时等配置信息
		RequestConfig config = RequestConfig.custom().setConnectTimeout(1000) //连接超时时间
				.setConnectionRequestTimeout(1000) //从连接池中取的连接的最长时间
				.setSocketTimeout(10 *1000) //数据传输的超时时间
				.setStaleConnectionCheckEnabled(true) //提交请求前测试连接是否可用
				.build();
		//设置请求配置时间
		httpGet.setConfig(config);

		//接受返回的数据
		CloseableHttpResponse response = null;

		try {
			response = httpClient.execute(httpGet);
		}finally{
			if(response!=null){
				response.close();
			}
			httpClient.close();
		}

	}

  

原文地址:https://www.cnblogs.com/achengmu/p/11080215.html

时间: 2024-11-29 04:12:20

httpclient: 设置请求的超时时间,连接超时时间等的相关文章

HttpClient(二)HttpClient使用Ip代理与处理连接超时

前言 其实前面写的那一点点东西都是轻轻点水,其实HttpClient还有很多强大的功能: (1)实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等) (2)支持自动转向 (3)支持 HTTPS 协议 (4)支持代理服务器等 一.HttpClient使用代理IP 1.1.前言 在爬取网页的时候,有的目标站点有反爬虫机制,对于频繁访问站点以及规则性访问站点的行为,会采集屏蔽IP措施. 这时候,代理IP就派上用场了.可以使用代理IP,屏蔽一个就换一个IP. 关于代理IP的话 也分几种

golang中mysql建立连接超时时间timeout 测试

本文测试连接mysql的超时时间. 这里的"连接"是建立连接的意思. 连接mysql的超时时间是通过参数timeout设置的. 1.建立连接超时测试 下面例子中,设置连接超时时间为5s,读超时时间6s. MySQL server IP是192.168.0.101,端口3306. 每3s执行一次SQL. // simple.go package main import ( "database/sql" "log" "time"

HttpClient 4.5版本设置连接超时时间

HttpClient升级到4.5版本后,API有很多变化,HttpClient 4之后,API一直没有太稳定,我感觉4.5版本抽象后,很多API应该快稳定了. 使用HttpClient,一般都需要设置连接超时时间和获取数据超时时间.这两个参数很重要,目的是为了防止访问其他http时,由于超时导致自己的应用受影响. 4.5版本中,这两个参数的设置都抽象到了RequestConfig中,由相应的Builder构建,具体的例子如下: CloseableHttpClient httpclient = H

Nginx服务优化之隐藏版本号、修改用户与组、配置页面缓存与时间、日志分割以及设置连接超时

Nginx服务优化之隐藏版本号.修改用户与组.配置页面缓存与时间.日志分割以及设置连接超时 前言 ? 在企业信息化应用环境中,服务器的安全性和响应速度需要根据实际情况进行相应参数配置,以达到最优的用户体验. ? 默认的nginx安装参数只能提供最基本的服务,还需要调整如网页缓存时间.连接超时.网页压缩等相应参数,才能发挥出服务器的最大作用. 一.隐藏版本号 ? 我们为什么要隐藏版本号? ? 我们一定要有一个意识:对于软件或者说服务,其安全性必然不可能是无懈可击的,总会或多或少地存在各种bug或者

[Swift 工作tips] 之 使用Alamofire做网络请求时设置请求超时(timeout)时间

在应用开发过程中,经常需要网络请求,在网络请求的过程中,一般的第三方网络框架的超时时间比较长为15秒: 那么,我们如何来指定请求的超时时间呢? 在Swift的世界里,比较有名的网络是Alamofire   GitHut地址:https://github.com/Alamofire/Alamofire 那么,在使用Alamofire 的时候,设置Alamofire的请求时间如下: 本例代码如下: 1 var alamofireManager : Manager? 2 // 设置请求的超时时间 3

iOS开发中如何设置请求超时时间

1 NSString *baseUrl; 2 NSURL *url = [NSURL URLWithString:[baseUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 3 NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInter

vue 设置请求超时时间处理

Vue.http.post('http://114.214.164.77:2222/crptorgraphy',{msg:JSON.stringify(req)},{emulateJSON:true,_timeout:3000, onTimeout: (request) => { //超出时间你要处理的逻辑 }}).then((response) => { }, (error) => { }); //拦截器设置全局请求token Vue.http.interceptors.push((r

HttpClient 设置超时问题

jps -lvmjstack -l pid requestConfig 设置timeout不生效 job出现卡死杜塞情况,查看线程如下"dcpUpdateOtrAccessTokenCronJob::de.hybris.platform.servicelayer.internal.jalo.ServicelayerJob" prio=5 tid=0x54068 nid=0xd334 RUNNABLE (JNI Native Code) - stats: cpu=344392 blk=-

httpclient设置超时。

// 1.生成 HttpClinet 对象并设置参数 HttpClient httpClient = new DefaultHttpClient(); // 设置 HTTP 连接超时 5s httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 5000); // 2.生成 GetMethod 对象并设置参数 HttpGet httpGet = new HttpGet(url); // 设置 get