Bom dia pessoal,
Alguem sabe como conectar em uma pagina com protocolo de seguraca HTTPS ,
por exemplo:https://url.
Obs: a sua rede possui proxy.
No meu exemplo eu valido meu proxy e tento uma conexao segura, mas da erro de
proxy nao autorizado, nao estou conseguindo resolver.
Talvez haja outra forma se fazer, se algum puder ajudar agradeco.
Abraco.
String proxyPassword = "senha do proxy";
String proxyUsername = "seu usuario";
String proxyHost = "ip";
String proxyPort = "porta";
String connectionURL = https://nome da url ;
//configuracao de proxy
System.setProperty("https.proxyHost", proxyHost);
System.setProperty("https.proxyPort", proxyPort);
System.setProperty("https.proxySet", "true");
System.setProperty("proxyHost", proxyHost);
System.setProperty("proxyPort", proxyPort);
System.setProperty("proxySet", "true");
System.setProperty("http.proxyHost", proxyHost);
System.setProperty("http.proxyPort", proxyPort);
System.setProperty("http.proxySet", "true");
//configuracao de seguranca
System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
java.security.Provider prov = new com.sun.net.ssl.internal.ssl.Provider();
Security.addProvider(prov);
//create the connection
URL myURL = new URL(connectionURL);
URLConnection myConnection = myURL.openConnection();
String strUserpass = proxyUsername + ":" + proxyPassword;
sun.misc.BASE64Encoder encodedLogin = new sun.misc.BASE64Encoder();
String encodedPassword = encodedLogin.encode(strUserpass.getBytes());
com.sun.net.ssl.HttpsURLConnection https = null;
if (myConnection instanceof com.sun.net.ssl.HttpsURLConnection) {
https = (com.sun.net.ssl.HttpsURLConnection)myConnection;
https.setSSLSocketFactory(new SSLTunnelSocketFactory(System.getProperty("proxyHost"), System.getProperty("proxyPort")));
//((com.sun.net.ssl.HttpsURLConnection) myConnection).setSSLSocketFactory(new SSLTunnelSocketFactory(System.getProperty("proxyHost"), System.getProperty("proxyPort")));
}
// myConnection.setRequestProperty("Proxy-Authorization", "Basic " + encodedLogin);
// myConnection.setRequestProperty("Authorization", "Basic " + encodedLogin);
https.setRequestProperty("Https-Proxy-Authorization", "Basic " + encodedLogin);
myConnection.setDoInput(true);
myConnection.setDoOutput(true);
BufferedReader in;
try {
System.err.println("opening Input stream1");
in = new BufferedReader(new InputStreamReader(myConnection.getInputStream()));
String inputLine;
System.err.println("Input stream is Open1");
}catch (Exception e) {
e.printStackTrace();
System.out.println("oie");
}