HttpClient封装类并接收POST请求传json参数

简介: 今天总结一下对于HttpClient的封装以及使用,便于以后的使用,这里我只封装了接收参数为Json形式的POST与GET两种方法,对于其他的方法大家可以随时留言,一起讨论。

今天总结一下对于HttpClient的封装以及使用,便于以后的使用,这里我只封装了接收参数为Json形式的POST与GET两种方法,对于其他的方法大家可以随时留言,一起讨论。


HttpClientUtils 类:

import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.apache.commons.lang.StringUtils;
public class HttpClientUtils {
  /**
   * 
   * @param url
   *            传递过来的地址
   * @param params
   *            参数信息(参数仅为json格式)
   * @return
   * @throws ClientProtocolException
   * @throws IOException
   */
  public static String doGet(String url, String params) throws ClientProtocolException, IOException {
    // 用来接收响应信息
    String response = null;
    // 创建HttpClient
    HttpClient httpClient = new DefaultHttpClient();
    HttpGet httpGet = new HttpGet(url);
    // 执行请求
    HttpResponse httpResponse = httpClient.execute(httpGet);
    // 判断响应值是否是200
    if (httpResponse.getStatusLine().getStatusCode() == 200) {
      // 请求和响应都成功了
      // 调用getEntity()方法获取到一个HttpEntity实例
      HttpEntity entity = httpResponse.getEntity();
      // 用EntityUtils.toString()这个静态方法将HttpEntity转换成字符串
      // 防止服务器返回的数据带有中文,所以在转换的时候将字符集指定成utf-8就可以了
      response = EntityUtils.toString(entity, "utf-8");
    }
    return response;
  }
  /**
   * 
   * @param url
   *            请求地址
   * @param method
   *            请求方式
   * @param params
   *            元素参数
   * @return
   * @throws ClientProtocolException
   * @throws IOException
   */
  public static String doPost(String url, String method, String params) throws ClientProtocolException, IOException {
    // 用来接收响应信息
        String response = null;
        // 创建HttpClient
        HttpClient httpClient = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost(url);
    //设置请求头为Json形式
    httpPost.setHeader("Content-Type", "application/json;charset=UTF-8");
    if (StringUtils.isNotBlank(params)) {
      httpPost.setEntity(new StringEntity(params, "utf-8"));
    }
    HttpResponse httpResponse = httpClient.execute(httpPost);
    if (httpResponse.getStatusLine().getStatusCode() == 200) {
      // 请求和响应都成功了
      // 调用getEntity()方法获取到一个HttpEntity实例
      HttpEntity entity = httpResponse.getEntity();
      // 用EntityUtils.toString()这个静态方法将HttpEntity转换成字符串
      // 防止服务器返回的数据带有中文,所以在转换的时候将字符集指定成utf-8就可以了
      response = EntityUtils.toString(entity, "utf-8");
    }
    return response;
  }
}

调用的时候

String result = HttpClientUtils.doPost(url,testJson);
System.out.println("返回值内容:"+result);

希望能够对大家日后的学习有所帮助!。

相关文章
|
8月前
|
JSON API 数据处理
Swagger动态参数注解:使用@DynamicParameters实现JSON参数的灵活定义
总结起来,通过使用SpringFox提供给我们工具箱里面非常有力量但又不太显眼工具———即使面对复杂多变、非标准化数据格式也能轻松驾驭它们———从而大大增强我们系统与外界沟通交流能力同时也保证系统内部数据处理逻辑清晰明确易于维护升级.
477 10
|
XML JSON API
淘宝商品详情API的调用流程(python请求示例以及json数据示例返回参考)
JSON数据示例:需要提供一个结构化的示例,展示商品详情可能包含的字段,如商品标题、价格、库存、描述、图片链接、卖家信息等。考虑到稳定性,示例应基于淘宝开放平台的标准响应格式。
|
XML JSON 安全
SSM:请求参数与回显&json
本文介绍了请求参数处理、过滤器和拦截器的使用方法。包括如何通过 `@RequestParam` 和 `@ModelAttribute` 绑定请求参数,使用 Lombok 简化实体类开发,实现过滤器处理字符编码,以及配置拦截器进行请求前后的处理。同时,还展示了如何使用 `@ResponseBody` 返回 JSON 数据,并解决了 JSON 编码问题。
267 0
|
JSON Java 数据格式
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
397 25
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
|
JSON API 数据格式
postman如何发送json请求其中file字段是一个图片
postman如何发送json请求其中file字段是一个图片
759 4
|
9月前
|
机器学习/深度学习 JSON 监控
淘宝拍立淘按图搜索与商品详情API的JSON数据返回详解
通过调用taobao.item.get接口,获取商品标题、价格、销量、SKU、图片、属性、促销信息等全量数据。
|
8月前
|
JSON API 数据格式
淘宝拍立淘按图搜索API系列,json数据返回
淘宝拍立淘按图搜索API系列通过图像识别技术实现商品搜索功能,调用后返回的JSON数据包含商品标题、图片链接、价格、销量、相似度评分等核心字段,支持分页和详细商品信息展示。以下是该API接口返回的JSON数据示例及详细解析:
|
8月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
8月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
9月前
|
JSON 缓存 自然语言处理
多语言实时数据微店商品详情API:技术实现与JSON数据解析指南
通过以上技术实现与解析指南,开发者可高效构建支持多语言的实时商品详情系统,满足全球化电商场景需求。