public static String postHttp(String url, Map<String, String> params) {
    URL u = null;
    HttpURLConnection con = null;
    // 构建请求参数
    StringBuffer sb = new StringBuffer();
    if (params != null) {
        for (Map.Entry<String, String> e : params.entrySet()) {
            sb.append(e.getKey());
            sb.append("=");
            sb.append(e.getValue());
            sb.append("&");
        }
        sb.substring(0, sb.length() - 1);
    }
    System.out.println("send_url:" + url);
    System.out.println("send_data:" + sb.toString());
    // 尝试发送请求
    try {
        u = new URL(url);
        con = (HttpURLConnection) u.openConnection();
        //// POST 只能为大写,严格限制,post会不识别
        con.setRequestMethod("POST");
        con.setDoOutput(true);
        con.setDoInput(true);
        con.setUseCaches(false);
        con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
        OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream(), "UTF-8");
        osw.write(sb.toString());
        osw.flush();
        osw.close();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (con != null) {
            con.disconnect();
        }
    }

    // 读取返回内容
    StringBuffer buffer = new StringBuffer();
    try {
        //一定要有返回值,否则无法把请求发送给server端。
        BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(), "UTF-8"));
        String temp;
        while ((temp = br.readLine()) != null) {
            buffer.append(temp);
            buffer.append("\n");
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    return buffer.toString();
}

起因:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorExcepti....post请求报错


参考:https://www.cnblogs.com/bobc/p/8809761.html

最后修改:2019 年 11 月 05 日
如果觉得我的文章对你有用,请随意赞赏