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/

  • 相关阅读:
    pandas 查看行列数
    git提交代码至GitHub
    编码错误
    Pandas中根据列的值选取多行数据
    pandas过滤缺失数据之dropna()
    kail linux安装
    mybatis_plus插件使用
    Vue 插槽和自定义事件
    Vue计算属性
    使用axios 异步显示数据到页面
  • 原文地址:https://www.cnblogs.com/aixing/p/13327484.html
Copyright © 2011-2022 走看看