尝试从第三方Web服务获取响应时出现连接异常

时间:2018-11-01 11:18:49

标签: rest tls1.2

尝试         {         字符串urlParameters =“ MERCHANT_ACCESS_CODE = abcd&MERCHANT_ID = 1234&AMOUNT = 10000&PRODUCT_CODE = 189423”;         byte [] postData = urlParameters.getBytes(StandardCharsets.UTF_8);         int postDataLength = postData.length;         URL url =新URL(“ https://uat.pinepg.in/api/BrandEmiCalculator”);

    System.setProperty("https.proxyHost", "tcs.proxy.com");
    System.setProperty("https.proxyPort", "8080");
    SSLContext sc = SSLContext.getInstance("TLSv1.2");
    sc.init(null, null, new java.security.SecureRandom());
    System.out.println("OPening connection******");
    HttpsURLConnection  urlConn = (HttpsURLConnection)url.openConnection();
    urlConn.setDoInput(true);
    urlConn.setDoOutput(true);
    urlConn.setSSLSocketFactory(sc.getSocketFactory());
    System.out.println("Setting TLS in connection");
    urlConn.setConnectTimeout(300000);
    urlConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
    urlConn.setRequestMethod("POST");
    urlConn.setRequestProperty( "Content-Length", Integer.toString( postDataLength ));
    System.out.println("Params set");
    urlConn.setDoOutput(true);
    try( DataOutputStream wr = new DataOutputStream( urlConn.getOutputStream())) {
           wr.write( postData );
        }
    catch(SocketTimeoutException e)
    {
        e.printStackTrace();
    }


    Reader in = new BufferedReader(new InputStreamReader(urlConn.getInputStream(), "UTF-8"));

    for (int c; (c = in.read()) >= 0;)
        System.out.print((char)c);

    String line, outputString = "";
    BufferedReader reader = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));
    while ((line = reader.readLine()) != null)
    {
        outputString += line;
    }

    System.out.println("Json from gogle" + outputString);
    }
    catch(SocketTimeoutException e)
    {
        e.printStackTrace();
    }
}   }

0 个答案:

没有答案
相关问题