Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

222
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda