使用HttpURLConnection实现post请求

需要使用 post 请求提交参数或者数据的的时候,很多人新手都不知道如何去实现,可能知用 HttpURLConnection 去实现,但不知道改如何去写,我花了一些时间去整理了一下,其实还是很简单,若有不明白的童鞋可以参考一下以下本人的实现方法。

public static String doRequest(String urlPath, Map<String, String> param) throws IOException {

        URL url = null;
        HttpURLConnection conn = null;
        BufferedReader in = null;
        String responseData = "";
        PrintWriter printWriter = null;
        try {
            url = new URL(urlPath);
            conn = (HttpURLConnection) url.openConnection();
            conn.setConnectTimeout(5000);

            conn.setDoOutput(true);// Set enable output
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            conn.setRequestProperty("Charset", "utf-8");

            OutputStream os = conn.getOutputStream();
            printWriter = new PrintWriter(os);

            // traversing map(param) stitching parameters
            String content = "";
            for (String key : param.keySet()) {
                content += "&";
                content += key;
                content += "=";
                content += param.get(key);
            }

            System.out.println("the param ergodic result content:" + content);
            printWriter.write(content);
            printWriter.flush();

            int code = conn.getResponseCode();
            if (code == 200) {
                in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
                String retData = null;
                while ((retData = in.readLine()) != null) {
                    responseData += retData;
                }
            } else {
                responseData = code + "";
            }
            return responseData;
        } finally {
            if (printWriter != null) {
                printWriter.close();
            }
            if (in != null) {
                in.close();
            }
            if (conn != null) {
                conn.disconnect();
            }
        }
    }


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值