본문 바로가기

운영체제/리눅스

리눅스 curl 명령어, 웹 요청과 데이터 전송

리눅스 curl 명령어, 웹 요청과 데이터 전송

웹 개발 및 네트워크 관리에서 curl 명령어는 매우 유용한 도구입니다. curl은 데이터를 전송하거나 수신하기 위해 다양한 프로토콜을 지원하는 커맨드 라인 도구로, HTTP, HTTPS, FTP 등을 포함한 여러 프로토콜을 사용할 수 있습니다. 이 가이드에서는 curl 명령어의 기본 사용법부터 고급 활용법까지 자세히 살펴보겠습니다.

 

 

 

curl 명령어란?

curl은 클라이언트 URL의 약자로, 다양한 프로토콜을 사용하여 데이터를 전송하거나 수신하는 데 사용되는 강력한 커맨드 라인 도구입니다. 주로 HTTP, HTTPS, FTP와 같은 웹 프로토콜을 지원하며, API 테스트, 파일 다운로드 및 업로드, 웹 페이지 요청 등에 많이 사용됩니다.

 

 

curl 명령어의 기본 사용법

기본적인 curl 명령어는 매우 간단합니다. URL을 지정하여 해당 페이지의 내용을 가져올 수 있습니다.

curl https://example.com

위 명령어를 실행하면, https://example.com의 HTML 소스가 출력됩니다.

 

 

HTTP 요청 보내기

curl은 다양한 HTTP 메서드를 지원합니다. 기본적으로 GET 요청을 보내지만, -X 옵션을 사용하여 다른 메서드를 지정할 수 있습니다.

curl -X POST https://example.com

위 명령어는 https://example.com으로 POST 요청을 보냅니다.

 

 

파일 다운로드와 업로드

curl은 파일을 다운로드하거나 업로드하는 데도 사용할 수 있습니다. -O 옵션을 사용하여 파일을 다운로드할 수 있습니다.

curl -O https://example.com/file.zip

위 명령어는 file.zip 파일을 현재 디렉토리에 다운로드합니다. 파일 업로드는 -F 옵션을 사용하여 가능합니다.

curl -F "file=@/path/to/file" https://example.com/upload

위 명령어는 /path/to/file에 있는 파일을 https://example.com/upload으로 업로드합니다.

 

 

 

 

고급 사용법: 헤더 설정 및 데이터 전송

curl은 HTTP 헤더를 설정하거나 데이터를 전송하는 등 다양한 고급 기능을 지원합니다. -H 옵션을 사용하여 헤더를 설정할 수 있습니다.

curl -H "Content-Type: application/json" https://example.com

위 명령어는 Content-Type 헤더를 설정하여 https://example.com으로 요청을 보냅니다. 데이터를 전송하려면 -d 옵션을 사용할 수 있습니다.

curl -d '{"key":"value"}' -H "Content-Type: application/json" https://example.com

위 명령어는 JSON 데이터를 https://example.com으로 POST 요청을 통해 전송합니다.

 

 

결론

curl 명령어는 웹 요청과 데이터 전송을 손쉽게 수행할 수 있는 강력한 도구입니다. 이번 가이드에서 배운 내용을 바탕으로, 다양한 상황에서 curl을 활용하여 네트워크 작업을 효율적으로 수행해 보세요.