httpclient 基础教程
- httpclient依懒包官网下载及httpclient maven依懒包获取
- httpClient快速入门
- httpclient get请求
- httpclient 带参数 get 请求
- httpclient post 请求
- httpclient 模拟浏览器请求
- httpclient post 表单参数请求
- HttpClient PUT请求示例
- HttpClient DELETE请求示例
httpclient 进阶教程
知识点
相关文章
更多最近更新
更多httpclient 使用连接池管理http请求对象
2019-03-17 00:00|来源: 网路
httpclient 的连接管理对象为HttpClientConnectionManager
初始化HttpClient连接池初始化:
PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
通过PoolingHttpClientConnectionManager对象可以设置最大连接数、每个主机地址的并发数等。
通过HttpClients.custom().setConnectionManager(HttpClientConnectionManager cm).build();来创建HttpClient对象
示例:
package com._656463.httpclient; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.conn.HttpClientConnectionManager; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; import org.apache.http.util.EntityUtils; public class HttpConnectManager { public static void main(String[] args) throws Exception { PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); // 设置最大连接数 cm.setMaxTotal(200); // 设置每个主机地址的并发数 cm.setDefaultMaxPerRoute(20); doGet(cm); doGet(cm); } public static void doGet(HttpClientConnectionManager cm) throws Exception { CloseableHttpClient httpClient = HttpClients.custom() .setConnectionManager(cm).build(); // 创建http GET请求 HttpGet httpGet = new HttpGet("http://www.baidu.com/"); CloseableHttpResponse response = null; try { // 执行请求 response = httpClient.execute(httpGet); // 判断返回状态是否为200 if (response.getStatusLine().getStatusCode() == 200) { String content = EntityUtils.toString(response.getEntity(), "UTF-8"); System.out.println("内容长度:" + content.length()); } } finally { if (response != null) { response.close(); } // 此处不能关闭httpClient,如果关闭httpClient,连接池也会销毁 // httpClient.close(); } } }
本文参考于网络
相关问答
更多-
org.apache.http.client.httpclient怎么设置连接池[2022-09-26]
httpclient使用连接池可以降低发起http请求的tcp3次握手以及关闭连接4次挥手的时间消耗,设置的步骤如下: 1. 在定义一个HttpClientManager连接池管理类中 1.1 管理类构造方法中定义连接池初始化方法。方法中使用 PoolingHttpClientConnectionManager进行http连接池的实现 1.2 管理类中定义返回httpclient对象getHttpClient方法 2. 实例化HttpClientManager对象,通过HttpClientManager对象 ... -
httpclient 使用连接池管理http请求对象[2024-03-18]
httpclient使用连接池可以降低发起http请求的tcp3次握手以及关闭连接4次挥手的时间消耗,设置的步骤如下: 在定义一个HttpClientManager连接池管理类中 1.1 管理类构造方法中定义连接池初始化方法。方法中使用 -
httpclient 4.5 连接池 需要哪些jar包[2023-02-13]
一、所需要的jar包 httpclient-4.5.jar httpcore-4.4.1.jar httpmime-4.5.jar 二、实例 Java代码 package cn.tzz.apache.httpclient; import java.io.File; import java.io.IOException; import java.net.URL; import java.util.ArrayList; -
java spring mvc通过httpclient调用别人的接口服务[2023-03-01]
主要有以下几点原因: 1、网络不通,在调用的机器上评一下对方服务器ip或域名; 2、如果接口url用的域名,排查是不是DNS问题,这种问题使用方法1时ping域名应该是不通的,直接ping ip可以通; 3、请求接口时设置的超时时间太短,httpclient可以设置超时时间,如果网络不稳定的话会导致请求通信还没有完成就达到超时时间; 4、接口url错误,这种理论上会报404,但是如果人家要求使用https,而你用的http协议,有可能导致超时; 5、对方接口肯定有权限验证,看是以什么方式鉴权,如果用的除to ... -
引用了相应的.jar了吗,即是相应的.jar在CLASSPATH中了吗
-
httpclient + javascript(httpclient + javascript)[2023-05-17]
结帐http://htmlunit.sourceforge.net/ Checkout http://htmlunit.sourceforge.net/ -
抛出ObjectDisposedException是因为在req.Content.ReadAsStringAsync()完成之前处理HttpRequestMessage和HttpClient 。 请注意, req.Content.ReadAsStringAsync()是一种异步方法。 在处理HttpClient之前,您需要等待它完成。 此外,你似乎在req.Content调用req.Content ,不应该是response.Content ? using (HttpRequestMessage req = ...
-
HttpClient失败(HttpClient failing)[2022-07-12]
您的程序集绑定重定向是错误的。 您的iOS项目应该有一个包含以下内容的app.config文件:根据MSDN ,因为.NET 4.5以下实例方法是线程安全的 (感谢@ischell): CancelPendingRequests DeleteAsync GetAsync GetByteArrayAsync GetStreamAsync GetStringAsync PostAsync PutAsync SendAsync According to MSDN, since .NET 4.5 The following instance methods are thread safe (thanks @ ...您可以使用此代码前进,它适用于我.. URL url = new URL("Your URL"); HttpURLConnection httpsURLConnection = (HttpURLConnection)url.openConnection(); httpsURLConnection.setReadTimeout(15000); httpsURLConnection.setConnectTimeout(20000); httpsURLConnec ...