zoukankan      html  css  js  c++  java
  • Java实现发送HTTP的POST请求,返回数据以及请求状态

    /**
         * @param url:请求url
         * @param content: 请求体(参数)
         * @return errorStr:错误信息;status:状态码,response:返回数据
         */
        public Map<String, Object> request(String url, String content) {
            Map<String, Object> result = new HashMap<String, Object>();
            String errorStr = "";
            String status = "";
            String response = "";
            PrintWriter out = null;
            BufferedReader in = null;
            try {
                URL realUrl = new URL(url);
                // 打开和URL之间的连接
                URLConnection conn = realUrl.openConnection();
                HttpURLConnection httpUrlConnection = (HttpURLConnection) conn;
                // 设置请求属性
                httpUrlConnection.setRequestProperty("Content-Type", "application/json");
                // 发送POST请求必须设置如下两行
                httpUrlConnection.setDoOutput(true);
                httpUrlConnection.setDoInput(true);
                // 获取URLConnection对象对应的输出流
                out = new PrintWriter(httpUrlConnection.getOutputStream());
                // 发送请求参数
                out.write(content);
                // flush输出流的缓冲
                out.flush();
                httpUrlConnection.connect();
                // 定义BufferedReader输入流来读取URL的响应
                in = new BufferedReader(new InputStreamReader(httpUrlConnection.getInputStream()));
                String line;
                while ((line = in.readLine()) != null) {
                    response += line;
                }
                status = new Integer(httpUrlConnection.getResponseCode()).toString();
            } catch (Exception e) {
                System.out.println("发送 POST 请求出现异常!" + e);
                errorStr = e.getMessage();
            }
            // 使用finally块来关闭输出流、输入流
            finally {
                try {
                    if (out != null) { out.close();}
                    if (in != null) {in.close();}
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            }
           
            result.put("errorStr", errorStr);
            result.put("response", response);
            result.put("status", status);
            return result;
    }
    

    原文地址:[一枚小程序员]https://blog.csdn.net/l347129991/article/details/73732925/

  • 相关阅读:
    Javaoop_继承
    事务,视图,索引,备份和恢复
    常用函数。
    为虚拟机配置NAT网络
    安装Linux系统
    初始Redis
    高内聚低耦合
    MyBatis动态SQL
    初始MyBatis
    GitHub的操作
  • 原文地址:https://www.cnblogs.com/aixing/p/13327484.html
Copyright © 2011-2022 走看看