• java Http请求


    1. 发送get请求

        /**
         * 发送GET请求
         *
         * @param urlStr        目的地址
         * @param params 请求参数,Map类型。
         * @return 远程响应结果
         */
        public String sendGet(String urlStr, Map<String, String> params) throws Exception {
            //拼接urlStr
            StringBuffer sb = new StringBuffer();
            for(Entry<String, String> entry : params.entrySet()) {
                sb.append("&").append(entry.getKey()).append("=").append(entry.getValue());
            }
            sb.replace(0, 1, "?");
            sb.insert(0, urlStr);
            //创建url对象
            URL url = new URL(sb.toString());
            //创建连接对象,我们要使用http连接 所以强转为Http连接对象
            HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection();
            //连接对象设置通用参数
            httpConnection.setRequestProperty("Accept", "*/*");
            httpConnection.setRequestProperty("Connection", "Keep-Alive");
            httpConnection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
            //建立连接
            httpConnection.connect();
            // 获取响应头信息
            Map<String, List<String>> headers = httpConnection.getHeaderFields();
            //获取响应内容
            BufferedReader reader = new BufferedReader(new InputStreamReader(httpConnection.getInputStream(), "UTF-8"));
            sb = new StringBuffer();
            String line = null;
            while((line = reader.readLine()) != null) {
                sb.append(line);
            }
            
            return sb.toString();
        }
        
        

    2. 发送post请求

        /**
         * 发送POST请求
         *
         * @param urlStr        目的地址
         * @param params 请求参数,Map类型。
         * @return 远程响应结果
         */
        public String sendPost(String urlStr, Map<String, String> params) throws Exception {
            StringBuffer sb = new StringBuffer();
            for(Entry<String, String> entry : params.entrySet()) {
                sb.append(entry.getKey()).append("=").append(entry.getValue()).append("&");
            }
            sb.substring(sb.length() - 1, sb.length());
            System.out.println(sb.toString());
    
            //创建url对象
            URL url = new URL(urlStr);
            //创建连接对象,我们要使用http连接 所以强转为Http连接对象
            HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection();
            //连接对象设置通用参数
            httpConnection.setRequestProperty("Accept", "*/*");
            httpConnection.setRequestProperty("Connection", "Keep-Alive");
            httpConnection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
            // 设置POST方式
            httpConnection.setDoInput(true);
            httpConnection.setDoOutput(true);
            // 获取HttpURLConnection对象对应的输出流
            PrintWriter out = new PrintWriter(httpConnection.getOutputStream());
            // 发送请求参数
            out.write(sb.toString());
            // flush输出流的缓冲
            out.flush();
            
            //获取响应内容
            BufferedReader reader = new BufferedReader(new InputStreamReader(httpConnection.getInputStream(), "UTF-8"));
            sb = new StringBuffer();
            String line = null;
            while((line = reader.readLine()) != null) {
                sb.append(line);
            }
            return sb.toString();
        }
  • 相关阅读:
    CSS之链接
    CSS之文本
    CSS之定位
    django 第四天
    django第三天
    django 第二天
    django第一天
    国庆贺礼
    珂朵莉树(ODT)笔记
    20190927
  • 原文地址:https://www.cnblogs.com/zhangzonghua/p/12870213.html
Copyright © 2020-2023  润新知