1. maven依赖包下载
<!-- httpclient --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.2.1</version> </dependency>
2. HttpClientUtil.java
package com.snail.common.util; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.ResponseHandler; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.BasicResponseHandler; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; /** * HttpClient调用工具类 * * @author penghuaiyi * @date 2014-04-04 */ public class HttpClientUtil { /** * 发送GET请求 * @param uri * @return */ public static String sendGet(String uri) { String responseBody = null; HttpClient httpClient = new DefaultHttpClient(); try { HttpGet httpGet = new HttpGet(uri); System.out.println("executing request " + httpGet.getURI()); // Create a response handler ResponseHandler<String> responseHandler = new BasicResponseHandler(); responseBody = httpClient.execute(httpGet, responseHandler); System.out.println("----------------------------------------"); System.out.println(responseBody); System.out.println("----------------------------------------"); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { httpClient.getConnectionManager().shutdown(); } return responseBody; } /** * 发送POST请求 * @param uri * @param paramMap 请求参数 * @return */ public static String sendPost(String uri, Map<String, String> paramMap) { return sendPost(uri, paramMap, null); } /** * 发送POST请求 * @param uri * @param paramMap 请求参数 * @param charset 参数编码 * @return */ public static String sendPost(String uri, Map<String, String> paramMap, String charset) { String responseBody = null; HttpClient httpClient = new DefaultHttpClient(); try { HttpPost httpPost = new HttpPost(uri); System.out.println("executing request " + httpPost.getURI()); if (paramMap != null) { List<NameValuePair> nvps = new ArrayList<NameValuePair>( paramMap.size()); for (Map.Entry<String, String> entry : paramMap.entrySet()) { NameValuePair nvp = new BasicNameValuePair(entry.getKey(), entry.getValue()); nvps.add(nvp); } if(charset!=null){ httpPost.setEntity(new UrlEncodedFormEntity(nvps,charset)); }else{ httpPost.setEntity(new UrlEncodedFormEntity(nvps)); } } // Create a response handler ResponseHandler<String> responseHandler = new BasicResponseHandler(); responseBody = httpClient.execute(httpPost, responseHandler); System.out.println("----------------------------------------"); System.out.println(responseBody); System.out.println("----------------------------------------"); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { httpClient.getConnectionManager().shutdown(); } return responseBody; } }
相关推荐
- **UseCase.cs**:这可能是示例代码中具体使用网络请求的地方,展示了如何调用封装好的网络工具类。 - **Util.cs**:通用工具类,可能包含一些辅助函数,如日志记录、数据转换等,这些可能在处理网络请求时用到。 ...
文件名为httpClient的压缩包很可能包含了封装HttpClient的相关代码,可能包括配置类、请求执行类、异常处理类等。解压并研究这些文件,可以帮助我们理解具体是如何进行封装的,也可以为我们的项目提供参考和学习的...
### WebApi系列-通过HttpClient来调用WebApi接口 #### 一、概述 在现代Web开发中,Web API已经成为一种非常流行的模式,用于提供服务端与客户端之间的数据交互。随着.NET Framework以及.NET Core的发展,微软提供...
这有助于提高整体的请求处理速度,尤其在大数据爬取或批量服务调用时。 3. **SSL问题**:在处理HTTPS请求时,HttpClient需要处理SSL证书和信任管理。封装工具类可能包含了SSLContext的配置,以处理自签名证书或者不...
通过这个工具类,开发者可以方便地调用静态方法进行HTTP请求,而不必关心底层实现的细节。 总结起来,使用Java的HttpClient发送HTTP请求涉及以下关键步骤: 1. 创建HttpClient实例。 2. 构建HttpGet或HttpPost对象...
本篇文章将深入探讨重新封装的HttpClient类,以及如何利用它进行高效且灵活的网络请求。 首先,我们来看一下`HttpClient`类的基本用法。原生的`HttpClient`类提供了发送GET、POST等不同HTTP方法请求的能力。例如,...
总之,这个HttpClient工具类提供了一个简洁易用的接口,帮助开发者快速、方便地进行HTTP请求,无论是在进行API调用还是数据交互,都能大大简化工作流程。通过这个工具类,你无需深入了解HttpClient的底层实现,只需...
本示例将深入探讨如何使用Apache HttpClient库在Java环境中调用Web服务,特别是通过Maven构建项目的方式进行。HttpClient是一个强大的HTTP客户端编程工具包,能够支持多种HTTP协议特性,使得Web服务调用变得更加灵活...
本教程将深入探讨如何利用HttpClient类在WPF应用中异步调用Web API,确保不阻塞主线程,提供流畅的用户体验。 HttpClient是一个强大的工具,用于发送HTTP请求并接收响应。在WPF应用中,我们可以使用异步编程技术,...
在这个场景中,我们使用HttpClient来调用JavaEye API来验证用户。JavaEye可能是一个提供用户认证服务的平台,而API则提供了验证用户身份的功能。 以下是一个关于如何使用HttpClient调用JavaEye API的基本步骤: 1....
httpclient get/post请求工具类(map参数封装),方便调用
本篇文章将详细讲解基于HttpClient的简化封装Starget.Http,以及如何利用它更方便地调用WebAPI接口,并通过Attribute控制模型序列化的位置。 首先,HttpClient虽然强大且功能齐全,但其基础使用往往需要编写大量的...
综上所述,这个“httpclient4.3 封装工具类.zip”应该包含了一些实用的类,将HttpClient的基本操作进行了封装,方便开发者在处理HTTP请求时直接调用,提高开发效率和代码可维护性。使用这样的工具类,开发者可以更...
使用完HttpClient后,记得调用`close`方法关闭连接管理器,以避免资源泄露。 封装HttpClient到你的项目中,可以创建一个工具类,提供统一的HTTP请求方法,将所有配置和异常处理集中管理,使得代码更简洁,易于维护...
通过这样的封装,你可以方便地在其他类和方法中调用`GetAsync`和`PostAsync`,以处理Web服务的交互。 在实际应用中,你可能还需要添加错误处理、超时设置、重试策略、自定义头部信息等高级功能,以适应不同的应用...
在实际项目中,为了提高代码的可复用性和可维护性,通常会将这些步骤封装到一个工具类中,例如`HttpClientUtil`,提供静态方法供其他类调用,从而简化客户端代码。 总结,HTTPClient是Java进行HTTP通信的强大工具,...
`HttpClientUtils`通常是封装了HttpClient核心操作的工具类,旨在简化HTTP请求的发起和管理,提供一个易于使用的API。`RestClient`可能是一个更高级别的抽象,专门针对RESTful API设计,利用HttpClient来实现对REST...
在实际项目中,我们通常会封装一个HttpClientUtil工具类,以简化请求的创建和执行过程。 例如,一个简单的HttpClientUtil工具类可能包含如下方法: ```java public class HttpClientUtil { public static ...
接下来,调用`execute()`方法来执行请求,最后解析返回的响应。 ##### 示例代码: ```java public static String sendGetRequest(String requestUrl) { long responseLength = 0; String responseContent = null...