30가지 실제 예제가 포함된 Linux의 cURL 명령

Linux의 cURL 명령은 HTTP, HTTPS, FTP 등을 포함한 다양한 프로토콜을 사용하여 서버와 데이터를 전송하는 강력한 도구입니다. 일반적으로 웹 요청 자동화, API 테스트 및 인터넷에서 파일 다운로드에 사용됩니다. cURL은 다목적이며 간단한 파일 다운로드부터 복잡한 여러 부분으로 구성된 양식 제출에 이르기까지 광범위한 작업을 처리할 수 있습니다.

이 가이드에서는 Linux에서 cURL 명령을 사용하는 30가지 실제 사례를 살펴보겠습니다. 이러한 예에서는 파일 다운로드, API로 데이터 전송, 인증 처리 등과 같은 일반적인 사용 사례를 다루며 다양한 작업에 대한 cURL의 유연성과 성능을 보여줍니다.

cURL 명령의 구문

cURL 명령을 사용하여 30가지 예제를 시연하기 전에 먼저 해당 구문을 이해하는 것이 좋습니다.

curl [options] [URL]

이 구문에서는:

  • 옵션: cURL의 동작을 수정하는 매개변수입니다.
  • URL: 상호 작용하려는 파일 또는 리소스의 주소입니다.

cURL 명령 옵션

cURL은 동작을 사용자 정의할 수 있는 다양한 옵션을 제공합니다. 가장 일반적으로 사용되는 옵션은 다음과 같습니다.

  • -O: 지정된 URL에서 파일을 다운로드합니다.
  • -I: 서버에서 HTTP 헤더를 가져옵니다.
  • -u: 서버 인증을 위한 사용자 자격 증명을 지정합니다.
  • -d: POST 요청에 지정된 데이터를 서버로 보냅니다.
  • -x: 요청에 사용할 프록시 주소를 지정합니다.

30 Linux의 cURL 명령 예

이제 cURL 명령을 사용하는 몇 가지 실제 예를 살펴보겠습니다. 각 예의 앞에는 설명과 출력 시연이 나옵니다.

예 1: URL에서 데이터 가져오기

cURL의 가장 기본적인 용도는 웹페이지의 콘텐츠를 가져오는 것입니다. 방법은 다음과 같습니다.

curl https://www.example.com

이 명령은 www.example.com 웹페이지의 HTML 콘텐츠를 가져옵니다.

예 2: 파일 다운로드

cURL을 사용하여 인터넷에서 파일을 다운로드할 수도 있습니다. 예는 다음과 같습니다.

curl -O https://www.example.com/file.txt

이 명령은 www.example.com에서 file.txt 파일을 다운로드하여 현재 디렉터리에 저장합니다.

예 3: POST 요청 보내기

cURL을 사용하여 서버에 POST 요청을 보낼 수 있습니다. 방법은 다음과 같습니다.

curl -d "param1=value1&param2=value2" -X POST http://www.example.com

이 명령은 param1=value1¶m2=value2 데이터와 함께 www.example.com에 HTTP POST 요청을 보냅니다.

예 4: HTTP 헤더 가져오기

서버에서 HTTP 헤더를 가져오려면 -I 옵션을 사용할 수 있습니다. 예는 다음과 같습니다.

curl -I https://www.example.com

이 명령은 www.example.com에서 HTTP 헤더를 가져옵니다.

예 5: 프록시 사용

프록시를 사용해야 하는 경우 -x 옵션을 사용하여 지정하세요. 방법은 다음과 같습니다.

curl -x http://proxy.example.com:8080 https://www.example.com

이 명령은 Proxy.example.com:8080의 프록시를 통해 www.example.com으로 요청을 보냅니다.

예 6: 쿠키 보내기

-b 옵션을 사용하여 요청과 함께 쿠키를 보낼 수 있습니다. 예는 다음과 같습니다.

curl -b "name=value" https://www.example.com

이 명령은 이름=값인 쿠키를 www.example.com으로 보냅니다.

예 7: 사용자 에이전트 보내기

웹사이트는 종종 사용자 에이전트를 사용하여 클라이언트의 브라우저에 적합한 콘텐츠를 제공합니다. 요청과 함께 사용자 에이전트를 보내려면 -A 옵션을 사용하십시오.

curl -A "Mozilla/5.0" https://www.example.com

이 명령은 Mozilla/5.0으로 설정된 사용자 에이전트를 사용하여 www.example.com에 요청을 보냅니다.

예 8: 리디렉션 따르기

일부 URL은 다른 URL로 리디렉션됩니다. 이러한 리디렉션을 따르려면 -L 옵션을 사용하십시오.

curl -L https://www.example.com

이 명령은 www.example.com의 모든 리디렉션을 따릅니다.

예 9: 파일에 출력 저장

cURL 명령의 출력을 파일에 저장하려면 -o 옵션을 사용하십시오.

curl -o output.html https://www.example.com

이 명령은 www.example.com의 출력을 output.html에 저장합니다.

예 10: FTP를 사용하여 파일 업로드

cURL은 FTP를 사용하여 서버에 파일을 업로드할 수 있습니다. 방법은 다음과 같습니다.

curl -T file.txt ftp://ftp.example.com --user username:password

이 명령은 제공된 사용자 이름과 비밀번호를 사용하여 file.txt를 ftp.example.com에 업로드합니다.

예 11: 다운로드 재개

다운로드가 중단되면 -C – 옵션을 사용하여 다운로드를 재개할 수 있습니다.

curl -C - -O https://www.example.com/file.txt

이 명령은 www.example.com에서 file.txt 다운로드를 재개합니다.

예 12: 여러 파일 다운로드

여러 파일을 다운로드하려면 여러 URL을 지정하세요.

curl -O https://www.example.com/file1.txt -O https://www.example.com/file2.txt

이 명령은 www.example.com에서 file1.txt 및 file2.txt를 다운로드합니다.

예시 13: DELETE 요청 보내기

DELETE 요청을 보내려면 -X DELETE 옵션을 사용하십시오.

curl -X DELETE https://www.example.com/resource

이 명령은 DELETE 요청을 URL www.example.com/resource로 보냅니다.

예 14: 자세한 출력

요청 및 응답에 대한 자세한 내용을 보려면 -v 옵션을 사용하세요.

curl -v https://www.example.com

이 명령은 www.example.com에 대한 요청에 대한 자세한 출력을 제공합니다.

예 15: 무음 모드

진행률 표시기와 오류 메시지를 표시하지 않으려면 -s 옵션을 사용하십시오.

curl -s https://www.example.com

이 명령은 자동 모드에서 www.example.com의 콘텐츠를 가져옵니다.

예 16: 다운로드 진행률 표시

다운로드 진행 상황을 더 읽기 쉬운 형식으로 표시하려면 # 옵션을 사용하십시오.

curl -# -O https://www.example.com/file.txt

이 명령은 www.example.com에서 file.txt를 다운로드하고 진행률을 진행률 표시줄로 표시합니다.

예 17: JSON 데이터 전송

POST 요청으로 JSON 데이터를 보내려면 -H 옵션을 사용하여 콘텐츠 유형을 설정하세요.

curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" -X POST https://www.example.com

이 명령은 JSON 데이터가 포함된 POST 요청을 www.example.com으로 보냅니다.

예 18: API와 함께 cURL 사용

cURL은 API와 상호작용하는 데 자주 사용됩니다. 예는 다음과 같습니다.

curl -H "Authorization: Bearer YOUR_TOKEN" https://api.example.com

이 명령은 인증 헤더와 함께 https://api.example.com으로 요청을 보냅니다.

예 19: 백그라운드에서 파일 다운로드

백그라운드에서 파일을 다운로드하려면 끝에 앰퍼샌드가 있는 -O 옵션을 사용하십시오.

curl -O https://www.example.com/file.txt &

이 명령은 백그라운드에서 www.example.com에서 file.txt를 다운로드합니다.

예 20: 파일에서 데이터 보내기

POST 요청에서 파일의 데이터를 보내려면 @ 기호를 사용합니다.

curl -d @data.txt -X POST https://www.example.com

이 명령은 data.txt의 데이터와 함께 POST 요청을 www.example.com으로 보냅니다.

예 21: FTP 서버에서 콘텐츠 가져오기

cURL을 사용하여 FTP 서버에서 콘텐츠를 가져올 수 있습니다. 방법은 다음과 같습니다.

curl ftp://ftp.example.com/file.txt --user username:password

이 명령은 제공된 사용자 이름과 비밀번호를 사용하여 ftp.example.com에서 file.txt를 가져옵니다.

예 22: 비밀번호로 보호된 웹사이트에서 콘텐츠 가져오기

비밀번호로 보호된 웹사이트에서 콘텐츠를 가져오려면 -u 옵션을 사용하세요.

curl -u username:password https://www.example.com

이 명령은 제공된 사용자 이름과 비밀번호를 사용하여 www.example.com에서 콘텐츠를 가져옵니다.

예 23: SSL을 사용하여 웹사이트에서 콘텐츠 가져오기

SSL을 사용하여 웹사이트에서 콘텐츠를 가져오려면 -k 옵션을 사용하세요.

curl -k https://www.example.com

이 명령은 SSL 인증서 경고를 무시하고 www.example.com에서 콘텐츠를 가져옵니다.

예제 24: PUT 요청 보내기

PUT 요청을 보내려면 -X PUT 옵션을 사용하십시오.

curl -X PUT -d "data" https://www.example.com/resource

이 명령은 "data" 데이터가 포함된 PUT 요청을 www.example.com/resource로 보냅니다.

예제 25: 응답 헤더 가져오기

응답 헤더만 가져오려면 -I 옵션을 사용하십시오.

curl -I https://www.example.com

이 명령은 www.example.com에서 응답 헤더만 가져옵니다.

예 26: 쿠키를 사용하여 웹사이트에서 콘텐츠 가져오기

쿠키가 있는 웹사이트에서 콘텐츠를 가져오려면 -b 옵션을 사용하세요.

curl -b cookies.txt https://www.example.com

이 명령은 cookie.txt에 저장된 쿠키를 사용하여 www.example.com에서 콘텐츠를 가져옵니다.

예 27: 사용자 정의 헤더가 있는 웹 사이트에서 콘텐츠 가져오기

사용자 정의 헤더가 있는 웹사이트에서 콘텐츠를 가져오려면 -H 옵션을 사용하세요.

curl -H "Custom-Header: Value" https://www.example.com

예 28: 시간 초과가 있는 웹 사이트에서 콘텐츠 가져오기

시간 초과가 있는 웹사이트에서 콘텐츠를 가져오려면 -m 옵션을 사용하세요.

curl -m 10 https://www.example.com

이 명령은 10초의 시간 제한으로 www.example.com에서 콘텐츠를 가져옵니다.

예 29: Verbose 모드로 웹사이트에서 콘텐츠 가져오기

상세 모드로 웹사이트에서 콘텐츠를 가져오려면 -v 옵션을 사용하세요.

curl -v https://www.example.com

이 명령은 자세한 정보 표시 모드로 www.example.com에서 콘텐츠를 가져와 요청 및 응답에 대한 자세한 정보를 표시합니다.

예 30: 웹 사이트에서 콘텐츠 가져오기 및 진행률 표시기 표시

웹사이트에서 콘텐츠를 가져오고 진행률 표시기를 표시하려면 -# 옵션을 사용하세요.

curl -# https://www.example.com

이 명령은 www.example.com에서 콘텐츠를 가져오고 진행률 표시기를 표시합니다.

결론

이러한 실제 예제를 통해 cURL 명령을 익히면 웹 서비스와 상호 작용하고, 데이터 전송을 자동화하고, 네트워크 문제를 해결하는 능력을 크게 향상시킬 수 있습니다. 다양한 cURL 옵션과 명령을 정기적으로 연습하면 이해가 깊어지고 Linux 워크플로에서 잠재력을 최대한 활용할 수 있습니다. cURL이 명령줄 도구 키트에 제공하는 다양성과 효율성을 즐겨보세요.

Joshua James

코멘트를 남겨주세요