zoukankan      html  css  js  c++  java
  • HttpClient 实现 get,post请求

    private String sendPost(Map<String,Object> data, String url) {
            CloseableHttpClient httpClient = HttpClientBuilder.create().build();
            StringBuffer sb = new StringBuffer();
            HttpPost httpPost = new HttpPost(url);
            List<NameValuePair> valuePairs = new ArrayList<>();
            if(null != data) {
                for (String key : data.keySet()) {
                    if(data.get(key) != null){
                        valuePairs.add(new BasicNameValuePair(key, data.get(key)
                                .toString()));
                    }
                }
            }
            try {
                httpPost.setEntity(new UrlEncodedFormEntity(valuePairs));
                HttpResponse response = httpClient.execute(httpPost);
                HttpEntity httpEntity = response.getEntity();
                BufferedInputStream bis = new BufferedInputStream(httpEntity.getContent());
                byte [] buffer;
                while (0<bis.read(buffer=new byte[128])){
                    sb.append(new String(buffer,"utf-8"));
                }
            }catch (UnsupportedEncodingException e){//数据格式有误
                e.printStackTrace();
            }catch (IOException e){//请求出错
                e.printStackTrace();
            }finally {
                httpPost.releaseConnection();
            }
            return sb.toString();
        }
    
    
        
        public String sendGet(String url) {
            CloseableHttpClient httpClient = HttpClientBuilder.create().build();
            StringBuffer sb = new StringBuffer();
            HttpGet httpGet = new HttpGet(url);
            try {
                HttpResponse response = httpClient.execute(httpGet);
    
                HttpEntity entity = response.getEntity();
                InputStreamReader reader = new InputStreamReader(entity.getContent(), "utf-8");
                char[] charbufer;
                while (0 < reader.read(charbufer = new char[10])) {
                    sb.append(charbufer);
                }
            } catch (IOException e) {//1
                e.printStackTrace();
            } finally {
                httpGet.releaseConnection();
            }
            return sb.toString();
        }
  • 相关阅读:
    0127 date dateformat calebdar
    0126 字符串缓冲区StringBuffer类 正则表达式
    0126 String类
    0125 java API object
    0125 匿名对象 内部类 包 代码块
    0123 final关键字,static 关键字
    0123 this关键字 super关键字
    0122面向对象 构造方法
    0122面向对象3 多态
    0120 面向对象2
  • 原文地址:https://www.cnblogs.com/zacky31/p/8611378.html
Copyright © 2011-2022 走看看