Cómo usar cURL en Java?


Soy un novato en java y quería usar curl en java. Cuál es mi pregunta es curl built-in en Java o tengo que instalarlo desde cualquier fuente de terceros para usar con Java. Si es así, cómo instalar curl en java. He estado buscando en Google durante mucho tiempo, pero no encontré ninguna ayuda. Espero que alguien pueda ayudarme.

Gracias de antemano.

 81
Author: user2864740, 2010-04-06

5 answers

Usted puede hacer uso de java.net.URL y/o java.net.URLConnection.

URL url = new URL("http://stackoverflow.com");

try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"))) {
    for (String line; (line = reader.readLine()) != null;) {
        System.out.println(line);
    }
}

También ver el Tutorial simple de Oracle sobre el tema. Sin embargo, es un poco detallado. Para terminar con un código menos detallado, es posible que desee considerar Apache HttpClient en su lugar.

Por cierto: si su próxima pregunta es " ¿Cómo procesar el resultado HTML?", entonces la respuesta es " Use un analizador HTML. No, no use expresiones regulares para esto.".

Véase también:

 127
Author: BalusC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:18:10

Algunas personas ya han mencionado HttpURLConnection, URL y URLConnection. Si necesita todo el control y las características adicionales que la biblioteca curl le proporciona (y más), le recomendaría httpclient de Apache.

 4
Author: Seth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-06 18:49:57

El objeto Runtime le permite ejecutar aplicaciones de línea de comandos externas desde Java y, por lo tanto, le permitiría usar cURL sin embargo, ya que las otras respuestas indican que probablemente hay una mejor manera de hacer lo que está tratando de hacer. Si todo lo que desea hacer es descargar un archivo, el objeto URL funcionará muy bien.

 3
Author: mjh2007,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-06 17:48:52

Usando libs estándar de Java, sugiero mirar la clase HttpURLConnection http://java.sun.com/javase/6/docs/api/java/net/HttpURLConnection.html

Puede manejar la mayor parte de lo que curl puede hacer al configurar la conexión. Lo que hagas con la corriente depende de ti.

 2
Author: Stevko,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-06 17:42:13

Curl es un programa que no es java y debe proporcionarse fuera de su programa Java.

Puede obtener fácilmente gran parte de la funcionalidad usando Jakarta Commons Net , a menos que haya alguna funcionalidad específica como "reanudar transferencia" que necesite (que es tedioso codificar por su cuenta)

 2
Author: Thorbjørn Ravn Andersen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-06 17:42:35