Java에서 cURL 사용
오늘은 자바에서 cURL
에 대해 알아보겠습니다. ProcessBuilder
및 Runtime.getRuntime
과 함께 cURL
을 사용하는 방법도 배웁니다.
자바의 ‘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: cURL
을 Runtime.getRuntime
과 함께 사용
Java에서 명령을 실행하는 또 다른 방법은 프로세스 클래스의 인스턴스를 가져오는 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