У меня есть реализация Java, которая используется различными клиентскими приложениями для подключения к сторонним системам. Эти сторонние системы поддерживают различные протоколы по сравнению с HTTP/HTTPS. В этом случае все клиентские приложения размещены на том же сервере, где размещена моя реализация Java. Таким образом, в этом случае различные клиентские приложения устанавливают различные HTTPS -протоколы для системных свойств (например: System.SetProperty («https.protocols», «sslv3») , system.setproperty («https.protocols», «tls») , когда они используют это к этим, к этим третьей стороне. /> Свойства системы распространяются на все приложения в этой среде. /> Поддерживает любое HTTP или HTTPS -соединение, выполненное к третьей стороне
Systems, поддерживает различные протоколы? src = "https://i.sstatic.net/0th5x.png"/>
code:
String responseStr = null;
System.setProperty("https.protocols",http-protocol); // This is set by the client applications. Previously, there was one by one (eg : "SSLv3". Then I changed it to "TLSv1.2,TLSv1.1,TLSv1,SSLv3" assuming it will enable all)
byteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
byteArrayOutputStream.write(requestStr.getBytes());
URL mUrl = new URL(proxy_url);
HttpURLConnection con = (HttpURLConnection) mUrl.openConnection(); // It works fine for the HttpURLConnection when there's no (s)
con.setRequestMethod("POST");
con.setDoOutput(true);
con.setUseCaches(false);
con.setDoInput(true);
con.setRequestProperty("user-agent","Mozilla(MSIE)");
con.setRequestProperty("Accept-Encoding","gzip,deflate");
byteArrayOutputStream.writeTo(con.getOutputStream());
String encodingHeader = con.getHeaderField("Content-Encoding");
InputStream inputStream = null;
if(encodingHeader != null && encodingHeader.toLowerCase().indexOf("gzip") != -1){
inputStream = new GZIPInputStream(con.getInputStream());
}else {
inputStream = con.getInputStream();
}
if (inputStream != null) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[4096];
int length = 0;
while ((length = inputStream.read(buffer)) != -1) {
baos.write(buffer, 0, length);
}
responseStr = new String(baos.toByteArray());
baos.close();
}
< /code>
Моя Java версия: 1.5 < /p>
Подробнее здесь: https://stackoverflow.com/questions/342 ... onnections
Проблемы с установкой свойства системы https.protocols для подключений HTTPS ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Проблемы с установкой свойства системы https.protocols для подключений HTTPS
Anonymous » » в форуме JAVA - 0 Ответы
- 33 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Проблемы с настройкой системного свойства https.protocols для HTTPS-соединений.
Anonymous » » в форуме JAVA - 0 Ответы
- 34 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Проблемы с настройкой системного свойства https.protocols для HTTPS-соединений.
Anonymous » » в форуме JAVA - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-