对接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;}
相关文章
相关标签/搜索