Java で cURL を使用する
今日は、Java の cURL
について学びます。 また、ProcessBuilder
および Runtime.getRuntime
で cURL
を使用する方法も学びます。
JavaのcURL
cURL
は、cURL
クライアントとサーバーの間でデータを転送するネットワーク ツールです。 cURL
は、HTTP
、FTP
、TELNET
、および SCP
などのプロトコルを使用します。
cURL
は、コア Java の java.net.URLConnection
パッケージまたは Apache の ApacheHttpClient
と同様に機能します。 ただし、cURL
はコマンドで機能するため、Java では ProcessBuilder
または Runtime.getRuntime()
を使用する必要がある場合があります。
Java で cURL
を使用するさまざまな方法
まず、cURL
がシステムにインストールされていることを確認してください。 次に、これらのリンクから cURL
インストーラーをダウンロードして、システムにインストールします。
方法 1: ProcessBuilder
で cURL
を使用する
cURL
がシステムにインストールされると、Java で使用できるようになります。 Java で cURL
を使用する方法の簡単な例を次に示します。
String Demo_Command = "curl -X GET https://localhost/get?delft1=stack1&delft2=stack2";
ProcessBuilder Process_Builder = new ProcessBuilder(Demo_Command.split(" "));
上記のコードは、指定されたサーバー リンクで get リクエストを使用して cURL
コマンドを実行します。 cURL
のシステム パス
も提供する必要があります。 そうしないと、機能しません。
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();
これで、プロセスから入力ストリームを取得できます。処理が完了したら、終了コードを取得してプロセス インスタンスを破棄できます。
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();
追加の cURL
コマンドについては、ProcessBuilder
を再利用するか、コマンドを配列として渡すことができます。
方法 2: Runtime.getRuntime
で cURL
を使用する
Java でコマンドを実行するもう 1つの方法は、プロセス クラスのインスタンスを取得する Runtime.getRuntime()
です。 Runtime.getRuntime()
は、Java で cURL
を使用するための優れた代替手段です。
Java で Runtime.getRuntime
を使用して cURL
を実行してみましょう。
String Demo_Command = "curl -X POST https://localhost/post --data delft1=stack1&delft2=stack2";
Process Demo_process = Runtime.getRuntime().exec(Demo_Command);
上記のコードは、cURL
および Runtime.getRuntime
メソッドを使用してポスト リクエストを送信します。 これで、上記と同じ方法で InputStream
を取得できます。
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();
インスタンスが不要になった場合は、プロセス インスタンスで destroy()
メソッドを使用してシステム リソースを解放する必要があります。
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