Verwenden Sie cURL in Java

Sheeraz Gul 20 Juni 2023
  1. cURL in Java
  2. Verschiedene Möglichkeiten, cURL in Java zu verwenden
Verwenden Sie cURL in Java

Heute lernen wir etwas über cURL in Java. Wir werden auch lernen, wie man cURL mit ProcessBuilder und Runtime.getRuntime verwendet.

cURL in Java

Das cURL ist ein Netzwerktool, das die Daten zwischen dem cURL-Client und dem Server überträgt. Die cURL verwendet die Protokolle wie HTTP, FTP, TELNET und SCP.

Das cURL funktioniert ähnlich wie das java.net.URLConnection-Paket von Core Java oder Apaches ApacheHttpClient. Die cURL funktioniert jedoch in Befehlen, daher müssen wir möglicherweise ProcessBuilder oder Runtime.getRuntime() in Java verwenden.

Verschiedene Möglichkeiten, cURL in Java zu verwenden

Stellen Sie zunächst sicher, dass die cURL auf Ihrem System installiert ist. Laden Sie dann das Installationsprogramm cURL von diesen Links herunter und installieren Sie es auf Ihrem System.

Methode 1: Verwenden Sie cURL mit ProcessBuilder

Sobald cURL auf dem System installiert ist, können wir es in Java verwenden. Hier ist ein einfaches Beispiel für die Verwendung von cURL in Java:

String Demo_Command = "curl -X GET https://localhost/get?delft1=stack1&delft2=stack2";
ProcessBuilder Process_Builder = new ProcessBuilder(Demo_Command.split(" "));

Der obige Code führt den Befehl cURL mit einer Get-Anfrage auf dem angegebenen Server-Link aus. Wir müssen auch den System-Pfad für cURL angeben; andernfalls wird es nicht funktionieren.

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();

Jetzt können wir den Eingabestrom aus dem Prozess abrufen und nach Abschluss der Verarbeitung den Exit-Code abrufen und die Prozessinstanz zerstören.

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();

Für zusätzliche cURL-Befehle können wir den ProcessBuilder wiederverwenden oder die Befehle als Array übergeben.

Methode 2: Verwenden Sie cURL mit Runtime.getRuntime

Eine andere Methode zum Ausführen von Befehlen in Java ist Runtime.getRuntime(), um die Instanz der Prozessklasse zu erhalten. Die Runtime.getRuntime() ist eine gute Alternative zur Verwendung von cURL in Java.

Versuchen wir, cURL mit Runtime.getRuntime in Java auszuführen:

String Demo_Command = "curl -X POST https://localhost/post --data delft1=stack1&delft2=stack2";
Process Demo_process = Runtime.getRuntime().exec(Demo_Command);

Der obige Code sendet eine Post-Anfrage mit den Methoden cURL und Runtime.getRuntime. Jetzt können wir den InputStream mit der gleichen Methode wie oben beschrieben erhalten.

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();

Denken Sie daran, wenn die Instanzen nicht mehr benötigt werden, sollten die Systemressourcen mit der Methode destroy() auf den Prozessinstanzen freigegeben werden.

Sheeraz Gul avatar Sheeraz Gul avatar

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