zoukankan      html  css  js  c++  java
  • 发送HTTP_GET请求 表头application/json

    /**
         * 发送HTTP_GET请求
         * 该方法会自动关闭连接,释放资源
         * @param reqURL    请求地址(含参数)
         * @param decodeCharset 解码字符集,解析响应数据时用之,其为null时默认采用UTF-8解码
         * @return 远程主机响应正文
         */
        public static String sendGetRequest(String reqURL,Map<String, String> paramMap, String decodeCharset){
            long responseLength = 0;       //响应长度
            String responseContent = null; //响应内容
            HttpClient httpClient = new DefaultHttpClient(); //创建默认的httpClient实例
            if (!paramMap.isEmpty()) {
                for (String key : paramMap.keySet()) {
                    if (reqURL.indexOf('?') == -1) {
                        reqURL += "?" + key+"="+paramMap.get(key);
                    } else {
                        reqURL += "&" + key+"="+paramMap.get(key);
                    }
                }
    
            }
            HttpGet httpGet = new HttpGet(reqURL);           //创建org.apache.http.client.methods.HttpGet
            try{
                HttpResponse response = httpClient.execute(httpGet); //执行GET请求
                response.setHeader("Content-Type","application/json");
                HttpEntity entity = response.getEntity();            //获取响应实体
                if(null != entity){
                    responseLength = entity.getContentLength();
                    responseContent = EntityUtils.toString(entity, decodeCharset==null ? "UTF-8" : decodeCharset);
                    EntityUtils.consume(entity); //Consume response content
                }
                System.out.println("请求地址: " + httpGet.getURI());
                System.out.println("响应状态: " + response.getStatusLine());
                System.out.println("响应长度: " + responseLength);
                System.out.println("响应内容: " + responseContent);
            }catch(ClientProtocolException e){
                logger.debug("该异常通常是协议错误导致,比如构造HttpGet对象时传入的协议不对(将'http'写成'htp')或者服务器端返回的内容不符合HTTP协议要求等,堆栈信息如下", e);
            }catch(ParseException e){
                logger.debug(e.getMessage(), e);
            }catch(IOException e){
                logger.debug("该异常通常是网络原因引起的,如HTTP服务器未启动等,堆栈信息如下", e);
            }finally{
                httpClient.getConnectionManager().shutdown(); //关闭连接,释放资源
            }
            return responseContent;
        }
  • 相关阅读:
    基于jQuery解决ios10以上版本缩放问题
    移动端h5模拟长按事件
    一篇讲SpringBoot+kafka很好的文章
    Liquibase+SpringBoot的简单使用笔记!update+rollback
    集合异同,找出新增元素和删除元素
    spring-security-结合JWT的简单demo
    IDEA SpringBoot+JPA+MySql+Redis+RabbitMQ 秒杀系统
    提取swagger内容到csv表格,excel可打开
    spring mvc 黑马 笔记
    手机页面图片显示高低不一致
  • 原文地址:https://www.cnblogs.com/zhaoyan001/p/9890159.html
Copyright © 2011-2022 走看看