Usar cURL en Java
Hoy aprenderemos sobre cURL
en Java. También aprenderemos a usar cURL
con ProcessBuilder
y Runtime.getRuntime
.
cURL
en Java
El cURL
es una herramienta de red que transfiere los datos entre el cliente y el servidor cURL
. La cURL
utiliza protocolos como HTTP
, FTP
, TELNET
y SCP
.
El cURL
funciona de forma similar al paquete java.net.URLConnection
del núcleo java o al ApacheHttpClient
de Apache. Sin embargo, cURL
funciona en los comandos, por lo que es posible que necesitemos usar ProcessBuilder
o Runtime.getRuntime()
en Java.
Diferentes formas de usar cURL
en Java
Primero, asegúrese de que cURL
esté instalado en su sistema. Luego, descargue el instalador cURL
de estos enlaces e instálelo en su sistema.
Método 1: Usar cURL
con ProcessBuilder
Una vez que cURL
está instalado en el sistema, podemos usarlo en Java. Aquí hay un ejemplo simple de cómo usar cURL
en Java:
String Demo_Command = "curl -X GET https://localhost/get?delft1=stack1&delft2=stack2";
ProcessBuilder Process_Builder = new ProcessBuilder(Demo_Command.split(" "));
El código anterior ejecuta el comando cURL
con una solicitud de obtención en el enlace del servidor dado. También necesitamos proporcionar la ruta
del sistema para cURL
; De lo contrario, no funcionará.
String Demo_Command = "curl -X GET https://localhost/get?delft1=stack1&delft2=stack2";
ProcessBuilder Process_Builder = new ProcessBuilder(Demo_Command.split(" "));
Process_Builder.directory(new File("/home/"));
Process Demo_process = Process_Builder.start();
Ahora podemos obtener el flujo de entrada del proceso y, una vez que se completa el procesamiento, podemos obtener el código de salida y destruir la instancia del proceso.
String Demo_Command = "curl -X GET https://localhost/get?delft1=stack1&delft2=stack2";
ProcessBuilder Process_Builder = new ProcessBuilder(Demo_Command.split(" "));
Process_Builder.directory(new File("/home/"));
Process Demo_process = Process_Builder.start();
InputStream Input_Stream = Demo_process.getInputStream();
int Exit_Code = Demo_process.exitValue();
System.out.println(Exit_Code);
Demo_process.destroy();
Para comandos adicionales de cURL
, podemos reutilizar el ProcessBuilder
o pasar los comandos como una matriz.
Método 2: Usar cURL
con Runtime.getRuntime
Otro método para ejecutar comandos en Java es Runtime.getRuntime()
para obtener la instancia de la clase de proceso. El Runtime.getRuntime()
es una buena alternativa para usar cURL
en Java.
Intentemos ejecutar cURL
usando Runtime.getRuntime
en Java:
String Demo_Command = "curl -X POST https://localhost/post --data delft1=stack1&delft2=stack2";
Process Demo_process = Runtime.getRuntime().exec(Demo_Command);
El código anterior envía una solicitud de publicación utilizando los métodos cURL
y Runtime.getRuntime
. Ahora podemos obtener el InputStream
con el mismo método descrito anteriormente.
String Demo_Command = "curl -X POST https://localhost/post --data delft1=stack1&delft2=stack2";
Process Demo_process = Runtime.getRuntime().exec(Demo_Command);
InputStream Input_Stream = Demo_process.getInputStream();
Demo_process.destroy();
Recuerde, si las instancias ya no son necesarias, los recursos del sistema deben liberarse utilizando el método destroy()
en las instancias del proceso.
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook