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 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