docs: public static String post(
        String serverUrl, String realData, int connectTimeout, int readTimeout, String charset)
        throws NoSuchAlgorithmException, KeyManagementException, IOException {
      if (serverUrl == null || "".equals(serverUrl.trim())) {
        throw new NullPointerException("请求地址为空!");
      }
      if (realData == null || "".equals(realData.trim())) {
        throw new NullPointerException("请求数据为空!");
      }
      URLConnection conn;
      // 分别调用http或https请求
      if (serverUrl.startsWith(HTTPS_PREFIX)) {
        SSLContext sslContext = SSLContext.getInstance("TLS");
        X509TrustManager[] xtmArray = new X509TrustManager[] {xtm};
        sslContext.init(null, xtmArray, new java.security.SecureRandom());
        HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());
        HttpsURLConnection.setDefaultHostnameVerifier(hnv);
        HttpsURLConnection httpsUrlConn = (HttpsURLConnection) (new URL(serverUrl)).openConnection();
        httpsUrlConn.setRequestMethod("POST");
        conn = httpsUrlConn;
      } else {
        URL url = new URL(serverUrl);
        conn = url.openConnection();
      }
      conn.setConnectTimeout(connectTimeout * 1000);
      conn.setReadTimeout(readTimeout * 1000);
      conn.setRequestProperty("Content-Type", "application/json;charset=" + charset);
  
      conn.setDoOutput(true);
      conn.setDoInput(true);
  
      OutputStream out = conn.getOutputStream();
      try {
        out.write(realData.getBytes(charset));
        out.flush();
      } finally {
        out.close();
      }
  
      InputStream is = conn.getInputStream();
      // 返回收到的响应数据
      return getResponseStringData(is, charset);
    }