Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

220
Vistas
Java HttpURLConnection funciona en Windows y falla en Linux

Tengo una aplicación Java Spark que recupera datos de un sitio web de la siguiente manera:

 while(true) { try{ connection = (HttpURLConnection) uRL.openConnection(); /* optional default is GET */ connection.setRequestMethod("GET"); /* add request header */ connection.setRequestProperty("User-Agent", USER_AGENT); connection.getResponseCode(); connection.setReadTimeout(0); /* Read the response code */ bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8)); break; } catch(Exception e){ LOGGER.error("Error in querying Wikipedia: "+e.getMessage()); continue; } } response = new StringBuffer(); while ((inputLine = bufferedReader.readLine()) != null) { response.append(inputLine); response.append("\n"); } bufferedReader.close();

Este código funciona bien en Windows.

Sin embargo, en una máquina Centos que tiene un servidor proxy HTTP y HTTPs, falla con Tiempo de espera de conexión. Establecí las propiedades del sistema para el proxy HTTPs para la aplicación y me aseguré de que funcione para algunos enlaces. Sin embargo, no funciona para algunos otros. Para aquellos que no funcionan, también probé la misma URL usando wget en el servidor Linux y funcionó.
Enlace que no funciona: https://ar.wikipedia.org/w/api.php?action=query&format=xml&titles=%D9%82%D8%B1%D9%89&redirects&prop=pageprops|categories&cllimit=500
enlace que funciona: https://ar.wikipedia.org/w/api.php?action=query&format=xml&list=allpages&apnamespace=14&apfilterredir=nonredirects&aplimit=500

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Java no respeta necesariamente la configuración de proxy predeterminada de su sistema. Dado que puede "curvar" la URL en la máquina Linux, la explicación más probable es que Java no está utilizando el proxy que configuró. Los siguientes enlaces explican varias formas de configurar los proxies para Java:

  • ¿Cómo configuro el proxy para que lo use la JVM ? Describe los enfoques que usan las propiedades del sistema.
  • ¿Cómo configuro los ajustes de proxy para Java? (Oracle): describe cómo hacerlo con el panel de control de Java.
over 4 years ago · Santiago Trujillo Denunciar

0

Estoy usando Ubuntu y funcionó conmigo

 try { URL obj = new URL(url); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); con.setRequestMethod("GET"); //add request header int responseCode = con.getResponseCode(); BufferedReader in = new BufferedReader( new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); System.out.println(response.toString()); } catch (MalformedURLException e) { e.printStackTrace(); } catch (ProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda