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();
        }
  • 相关阅读:
    php动态编辑zlib扩展
    部署平台分布式锁设计
    quartz源码分析——执行引擎和线程模型
    RabbitMq核心概念和术语
    Netty SSL安全配置
    跨站脚本攻击介绍
    ssl Diffie-Hellman弱密码问题
    java server wrapper 和 maven assembly 插件
    跨站请求伪造防御
    字符编码笔记:ASCII,Unicode和UTF-8
  • 原文地址:https://www.cnblogs.com/zacky31/p/8611378.html
Copyright © 2011-2022 走看看