调用接口方式

本文详细介绍了ApacheHttpClient库中的CloseableHttpClient类,包括其支持的多种HTTP方法、HTTPS、连接池、请求/响应拦截、代理、重定向、Cookie管理和超时设置。还展示了如何使用createDefault()方法创建默认HttpClient实例以及其内置的重试策略和代理设置。
摘要由CSDN通过智能技术生成

1. 原生接口图片

2. CloseableHttpClient

CloseableHttpClient是Apache HttpClient库中的一个类,它是一个可关闭的HTTP客户端,用于发送HTTP请求并接收响应。它提供了一系列的方法和功能,使得发送HTTP请求变得更加简单和方便。

CloseableHttpClient的主要特点和功能包括:

  1. 支持多种HTTP方法:CloseableHttpClient支持GET、POST、PUT、DELETE等多种HTTP方法,可以根据需要选择合适的方法来发送请求。

  2. 支持HTTPS:CloseableHttpClient可以与HTTPS服务器建立安全连接,并进行SSL/TLS握手过程,确保通信的安全性。

  3. 支持连接池:CloseableHttpClient内部维护了一个连接池,可以重用已经建立的HTTP连接,提高性能和效率。

  4. 支持请求和响应拦截器:CloseableHttpClient可以通过添加请求拦截器和响应拦截器来对请求和响应进行处理,例如添加请求头、记录日志等。

  5. 支持代理:CloseableHttpClient可以通过设置代理服务器来发送请求,实现代理功能。

  6. 支持重定向:CloseableHttpClient可以自动处理HTTP重定向,根据服务器返回的重定向响应进行相应的操作。

  7. 支持Cookie管理:CloseableHttpClient可以自动处理服务器返回的Cookie,并在后续的请求中自动发送Cookie。

  8. 支持连接超时和读取超时设置:CloseableHttpClient可以设置连接超时时间和读取超时时间,以便在网络不稳定或服务器响应缓慢时进行适当的处理。

3. httpClients.createdefault()

用于创建一个默认的HttpClient实例。HttpClient是一个用于发送HTTP请求和接收HTTP响应的类,它是.NET框架中的一部分。

它返回一个HttpClient对象,该对象包含了一些默认的配置和参数,以便于进行HTTP请求。

默认设置包括以下几个方面:

  1. 连接管理器(Connection Manager):默认情况下,HttpClient会使用PoolingHttpClientConnectionManager作为连接管理器。连接管理器负责管理HTTP连接的创建、复用和关闭,以提高性能和效率。

  2. 请求配置(Request Configuration):默认的请求配置包括连接超时时间、读取超时时间和连接请求超时时间。连接超时时间指的是建立连接的最长时间,读取超时时间指的是从服务器读取数据的最长时间,连接请求超时时间指的是获取连接的最长时间。

         CloseableHttpClient httpClient=HttpClients.createDefault();  // 创建httpClient实例
         HttpGet httpGet= new  HttpGet( "http://central.maven.org/maven2/" ); // 创建httpget实例
         RequestConfig config=RequestConfig.custom()
                 .setConnectTimeout( 5000 )
                 .setSocketTimeout( 5000 )
                 .build();
         httpGet.setConfig(config);
         httpGet.setHeader( "User-Agent" ,  "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0" );
         CloseableHttpResponse response=httpClient.execute(httpGet);  // 执行http get请求
         HttpEntity entity=response.getEntity();  // 获取返回实体
         System.out.println( "网页内容:" +EntityUtils.toString(entity,  "utf-8" ));  // 获取网页内容
         response.close();  // response关闭
         httpClient.close();  // httpClient关闭

      3. 重试策略(Retry Strategy):默认情况下,HttpClient会使用DefaultHttpRequestRetryHandler作为重试策略。该策略会在发生异常或者收到非成功状态码时进行重试。

     4. 代理设置(Proxy Configuration):如果系统中配置了代理服务器,HttpClient会自动检测并使用代理进行请求。

     5. SSL/TLS设置:默认情况下,HttpClient会使用系统默认的SSL/TLS配置。可以通过自定义SSLContext来修改SSL/TLS设置。

实例可以用于发送GET、POST等各种类型的HTTP请求,并且可以处理响应结果。在使用完毕后,需要确保及时释放HttpClient实例,以避免资源泄漏。

client.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值