zoukankan      html  css  js  c++  java
  • httpclient调用接口

     1 public static String sendData(String url,String codeType,Map<String,String> datas,Map<String,File> files){
     2         CloseableHttpClient httpClient = HttpClients.createDefault();
     3         String result = "";
     4         try{
     5             // 接口地址
     6             HttpPost httpPost = new HttpPost(url);
     7             //以浏览器兼容模式运行,防止文件名乱码。 
     8             MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create().setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
     9             
    10             //普通参数
    11             if(datas != null && !datas.isEmpty()){
    12                 for (Map.Entry<String, String> entry : datas.entrySet()) {
    13                     multipartEntityBuilder.addTextBody(entry.getKey(), entry.getValue());
    14                 }
    15             }
    16             //文件参数
    17             if(files != null && !files.isEmpty()){
    18                 for (Map.Entry<String, File> entry : files.entrySet()) {
    19                     multipartEntityBuilder.addBinaryBody(entry.getKey(), entry.getValue());  
    20                 }
    21             }
    22             
    23             HttpEntity reqEntity = multipartEntityBuilder.build();
    24             
    25             httpPost.setEntity(reqEntity);
    26             // 发起请求 并返回请求的响应
    27             CloseableHttpResponse response = httpClient.execute(httpPost);
    28             try{
    29                 // 获取响应对象
    30                 int status = response.getStatusLine().getStatusCode();
    31                 if(status == HttpStatus.SC_OK){
    32                     HttpEntity resEntity = response.getEntity();
    33                     if(resEntity != null) {
    34                         // 响应内容
    35                         if(codeType==null || codeType==""){
    36                             codeType = "UTF-8";
    37                         }
    38                         result = EntityUtils.toString(resEntity,codeType);
    39                          // 销毁
    40                     }
    41                     EntityUtils.consume(resEntity);
    42                 }
    43             }finally{
    44                 response.close();
    45             }
    46         }catch (Exception e) {
    47             e.printStackTrace();
    48             result = "";
    49         }finally{
    50             try {
    51                 httpClient.close();
    52             } catch (IOException e) {
    53                 e.printStackTrace();
    54             }
    55         }
    56         return result;
    57     }
  • 相关阅读:
    [NOIP2011提高组]聪明的质监员
    NOIP 2010 关押罪犯
    题目:埃及分数
    用scanf输入long long 型的数
    poj 1014 Dividing
    Cactus
    SQLite数据库的增删改查代码
    UltraGrid常用方法属性代码
    维护数据表常用SQL语句
    C#备份收藏夹代码
  • 原文地址:https://www.cnblogs.com/jason123/p/7677720.html
Copyright © 2011-2022 走看看