java发送http的post请求

时间:2022-06-07 21:08:19

java发送json内容的post请求

public static JSONObject doPost(String url,JSONObject json){
    DefaultHttpClient client = new DefaultHttpClient();
    HttpPost post = new HttpPost(url);
    JSONObject response = null;
    try {
      StringEntity s = new StringEntity(json.toString());
      s.setContentEncoding("UTF-8");
      s.setContentType("application/json");//发送json数据需要设置contentType
      post.setEntity(s);
      HttpResponse res = client.execute(post);
      if(res.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
        HttpEntity entity = res.getEntity();
        String result = EntityUtils.toString(res.getEntity());// 返回json格式:
        response = JSONObject.fromObject(result);
      }
    } catch (Exception e) {
      throw new RuntimeException(e);
    }
    return response;
  }

或者

public Map queryH5Api (String url,Map paraMap) throws ErrorCodeException{
    try{
        //设置url
        HttpPost httpPost = new HttpPost(url);
        //设置http请求的类型
        httpPost.addHeader("Content-type","application/json; charset=utf-8");
        httpPost.addHeader("Accept","application/json");
        //放入参数
        httpPost.setEntity(new StringEntity(JSONObject.toJSONString(paraMap), Charset.forName("UTF-8")));
        CloseableHttpClient httpClient = HttpClientBuilder.create().build();
        //发送http请求
        HttpResponse response = httpClient.execute(httpPost);
        //获取返回值
        HttpEntity resEntity = response.getEntity();
        String result = EntityUtils.toString(resEntity);
        System.out.println("啦啦啦"+result);
        //把返回值json转为map
        ObjectMapper objectMapper = new ObjectMapper();
        Map<String, Object> maps = objectMapper.readValue(result, Map.class);
        return maps;
    }catch (Exception e){
        LOG.error("h5远程调用失败", e);
        throw new ErrorCodeException(ErrorCodeEnum.ERROR, "h5远程调用失败" + e.getMessage());
    }
}