curl

agnusdei·2023년 7월 26일
0

curl 명령어 소개

curl은 웹 서버와 통신하기 위한 명령어로, 대부분의 프로토콜을 지원하고 쉘 스크립트나 다른 언어로 쉽게 사용할 수 있는 도구입니다. HTTP, HTTPS, FTP, FTPS, SMB, TELNET 등 여러가지 프로토콜을 지원합니다. 파일을 전송하거나 API를 호출하는 데 널리 사용됩니다.

curl은 거의 모든 주요 운영 체제에서 사용할 수 있습니다. 사용 가능한 운영 체제는 다음과 같습니다:

  1. Linux 배포판: 대부분의 Linux 배포판 (예: Ubuntu, CentOS, Debian, Fedora, RHEL 등)에 curl이 미리 설치되어 있거나, 패키지 관리자를 사용하여 쉽게 설치할 수 있습니다.

  2. macOS: macOS에서는 기본적으로 curl이 설치되어 있습니다.

  3. Windows: Windows에서 curl을 사용하려면, 일부 버전에 탑재되어 있지 않는 경우 수동으로 설치해야 합니다. 하지만 최근의 Windows 10 버전에서는 기본적으로 curl이 내장되어 있습니다. Windows에서 사용할 수 있는 curl을 설치하려면, https://curl.se/windows/에서 curl 바이너리를 다운로드할 수 있습니다.

  4. 기타 운영 체제: Unix 및 Unix 기반 운영 체제 (예: BSD, Solaris 등)에서도 사용할 수 있습니다.

따라서 curl은 거의 모든 주요 운영 체제에서 사용 가능하며, 개발 및 테스트 작업을 원활하게 수행할 수 있는 강력한 도구입니다.

curl 사용법

curl [OPTIONS] URL

  • OPTIONS: curl 명령어의 옵션입니다. 이를 사용하여 요청 유형, 헤더, 데이터 등을 지정할 수 있습니다.
  • URL: 웹 서버와 연결할 대상 주소입니다.
$ curl https://example.com

위 예시에서는 기본적인 GET 요청을 보내고 그 결과를 출력하는데 사용합니다.

자주 사용하는 curl 옵션

  1. -O: URL의 파일을 로컬에 저장합니다.

    $ curl -O https://example.com/file.txt
  2. -o: 출력 파일을 사용자가 지정한 파일에 저장합니다.

    $ curl -o my_file.txt https://example.com/file.txt
  3. -X: 요청 방식을 지정합니다 (POST, PUT, DELETE 등).

    $ curl -X POST https://example.com/api/resource
  4. -H: 요청 헤더를 지정합니다.

    $ curl -H "Content-Type: application/json" -H "Authorization: Bearer token" https://example.com/api/resource
  5. -d: POST요청을 보낼 때, 데이터를 지정합니다.

    $ curl -X POST -d "key=value&key2=value2" https://example.com/api/resource
  6. --data-urlencode: URL 인코딩된 데이터를 지정하여 요청을 보냅니다.

    $ curl -X POST --data-urlencode "param1=value1" --data-urlencode "param2=value2" https://example.com/api/resource
  7. -F: 파일을 전송합니다 (multipart/form-data 요청).

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

결론

curl 명령어는 웹 서버와 소통하는 데 굉장히 강력한 도구입니다. 다양한 옵션을 사용하여 웹 서버와의 통신 과정을 제어할 수 있습니다. 파일 전송, API 호출 등 다양한 목적으로 사용됩니다. 이러한 기능을 사용하여 웹 개발 및 API 개발 과정에서 원활한 테스트와 작업을 수행할 수 있습니다.

0개의 댓글