對接Content-Type="application/json;"的接口示例

url:調用目標接口的路徑
headers:請求頭屬性
params:目標接口須要的入參
public static String sendPostJson(String url, Map<String, String> headers, Map<String, Object> params) {    String param = JSONUtils.toJSONString(params);    PrintWriter out = null;    BufferedReader in = null;    String result = "";    try {        URL realUrl = new URL(url);        // 打開和URL之間的鏈接        URLConnection conn = realUrl.openConnection();        // 設置通用的請求屬性        conn.setRequestProperty("accept", "*/*");        conn.setRequestProperty("connection", "Keep-Alive");        conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");        if (headers != null) {            List<NameValuePair> nvps = Lists.newArrayList();            Set<Map.Entry<String, String>> entrySet = headers.entrySet();            for (Map.Entry<String, String> entry : entrySet) {                conn.setRequestProperty(entry.getKey(), entry.getValue());            }        }        // 發送POST請求必須設置以下兩行        conn.setDoOutput(true);        conn.setDoInput(true);        // 獲取URLConnection對象對應的輸出流        out = new PrintWriter(conn.getOutputStream());        // 發送請求參數        out.print(param);        // flush輸出流的緩衝        out.flush();        // 定義BufferedReader輸入流來讀取URL的響應        in = new BufferedReader(new InputStreamReader(conn.getInputStream()));        String line;        while ((line = in.readLine()) != null) {            result += line;        }    } catch (Exception e) {        System.out.println("發送 POST 請求出現異常!" + e);        log.error(e.getMessage());    }    //使用finally塊來關閉輸出流、輸入流    finally {        try {            if (out != null) {                out.close();            }            if (in != null) {                in.close();            }        } catch (IOException ex) {            log.error(ex.getMessage());        }    }    return result;}
相關文章
相關標籤/搜索