Soy un novato en java y quería usar curl en java. Mi pregunta es curl integrado en java o tengo que instalarlo desde cualquier fuente de terceros para usarlo 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 por adelantado.
Respuestas:
Puede hacer uso de
java.net.URL
y / ojava.net.URLConnection
.URL url = new URL("https://stackoverflow.com"); try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"))) { for (String line; (line = reader.readLine()) != null;) { System.out.println(line); } }
Consulte también el sencillo tutorial 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 siguiente pregunta es "¿Cómo procesar el resultado HTML?", Entonces la respuesta es " Use un analizador HTML . No, no use expresiones regulares para esto ".
Ver también:
fuente
URLConnection
, pero debe conocer y comprender las especificaciones HTTP. Por cierto, no intente comparar PHP con Java. Es como manzanas y naranjas. Para evitar problemas / confusiones, olvídese de PHP y dé una nueva visión a Java. Es un idioma con una ideología completamente diferente. PD: Yo hago ambas cosas, así que lo digo por experiencia.Algunas personas ya han mencionado HttpURLConnection , URL y URLConnection . Si necesita todo el control y las funciones adicionales que le proporciona la biblioteca curl (y más), le recomendaría httpclient de Apache .
fuente
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, como las otras respuestas indican, probablemente haya una mejor manera de hacer lo que está tratando de hacer. Si todo lo que quiere hacer es descargar un archivo, el objeto URL funcionará muy bien.
fuente
Usando libs java estándar, 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 transmisión depende de ti.
fuente
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 utilizando Jakarta Commons Net , a menos que necesite alguna funcionalidad específica como "reanudar la transferencia" (que es tedioso de codificar por su cuenta)
fuente
Use Runtime para llamar a Curl. Este código funciona tanto para Ubuntu como para Windows.
String[] commands = new String {"curl", "-X", "GET", "http://checkip.amazonaws.com"}; Process process = Runtime.getRuntime().exec(commands); BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; String response; while ((line = reader.readLine()) != null) { response.append(line); }
fuente