
Erro en conexión a url de internet mediante un proxy con autenticarión de usuario
Publicado por Juan (1 intervención) el 16/01/2021 05:56:46
Saludos a todos
Favor su ayuda tengo un inconveniente con un aplicativo java que se usa para realizar una conexión a una URL de internet.
Los servidores donde se encuentra el aplicativo son Linux los cuales salen a internet mediante un proxy que se encuentra configurado en la variable http_proxy de la siguiente manera
http://usuario:[email protected]:8080
He logrado hacer que se conecte a la url pero desde una maquina que sale directo a internet pero al intentar aplicar el proxy presento inconvenientes y le he dado muchas vueltas y no encuentro que estoy haciendo mal o como debo hacerlo.
Adicional se ha logrado obtener el valor del http_proxy con la linea system.getenv("https_proxy"); pero aun no se conecta.
De antemano les agradezco sus aportes y ayudas.
Favor su ayuda tengo un inconveniente con un aplicativo java que se usa para realizar una conexión a una URL de internet.
Los servidores donde se encuentra el aplicativo son Linux los cuales salen a internet mediante un proxy que se encuentra configurado en la variable http_proxy de la siguiente manera
http://usuario:[email protected]:8080
He logrado hacer que se conecte a la url pero desde una maquina que sale directo a internet pero al intentar aplicar el proxy presento inconvenientes y le he dado muchas vueltas y no encuentro que estoy haciendo mal o como debo hacerlo.
Adicional se ha logrado obtener el valor del http_proxy con la linea system.getenv("https_proxy"); pero aun no se conecta.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package prueba;
import javax.net.ssl.HttpsURLConnection;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.Proxy.Type;
import java.net.URL;
import java.util.Base64;
public class ConexionURL {
public void verificarTokenRecaptcha(String urlVerificacion, String claveRecaptcha,
String tokenRecaptcha) throws IOException {
DataOutputStream wr=null;
BufferedReader in=null;
HttpsURLConnection con=null;
String proxyHost="proxyempresa.com";
int proxyPort=8080;
System.setProperty("http.proxyHost", proxyHost);
System.setProperty("http.proxyPort", "8080");
String encoded = new String
(Base64.getEncoder().encode(new String("usuario:clave").getBytes()));
try {
//Proxy proxy=new Proxy(Type.HTTP, new InetSocketAddress(proxyHost, proxyPort));//Se intento usar tambien con esta linea pero el proxy usa autenticación con usuario
URL obj = new URL(urlVerificacion);
//con = (HttpsURLConnection) obj.openConnection(proxy);
con = (HttpsURLConnection) obj.openConnection();
con.setRequestProperty("Proxy-Authorization", "Basic " + encoded);
con.connect();
con.setRequestMethod("POST");
String postParams = "secret=" + claveRecaptcha + "&response=" + tokenRecaptcha;
con.setDoOutput(true);
wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(postParams);
int responseCode = con.getResponseCode();
in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
String jsonObject = response.toString();
System.out.println("responseCode: " + responseCode);
System.out.println("recaptchaSalida IsSuccess: " + jsonObject);
} catch (Exception ex) {
System.out.println("Error: "+ex.toString());
} finally{
if(wr!=null){
wr.close();
}
if(in!=null){
in.close();
}
if(con!=null){
con.disconnect();
}
}
}
}
De antemano les agradezco sus aportes y ayudas.
Valora esta pregunta


0