使用HttpURLConnection實現post請求
阿新 • • 發佈:2018-12-29
需要使用 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(); } } }