cURL 사용법

cURL 사용법

HTTP 요청을 수행하고 데이터를 전송하며 다양한 프로토콜을 다룰 때 cURL을 많이 사용하게 되는데, 사용법이랑 옵션이 워낙 많아서 하나하나 익히는데 시간도 걸리고 헷갈리기도 한다. 여기서는 자주 사용하는 cURL의 다양한 기능과 사용법을 알아보자.

1. 기본적인 GET 요청

curl http://example.com

이 명령어는 http://example.com에 GET 요청을 보내고, 서버의 응답을 출력해준다. 아주 기본적인 사용법이다.

2. 헤더 추가

curl -H "Authorization: Bearer your_token" http://example.com/api/resource

특정 헤더를 요청에 추가해야 할 때 사용한다. 예를 들어, API 토큰을 추가하는 경우다.

3. POST 요청

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

POST 요청을 보내고 데이터를 전송할 때 사용한다. -d 옵션을 통해 데이터를 전송한다.

4. JSON 데이터 전송

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

JSON 형식의 데이터를 전송할 때는 Content-Type: application/json 헤더를 추가하고, 데이터를 JSON 형식으로 전달한다.

5. 파일 업로드

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

파일을 업로드할 때 사용한다. -F 옵션을 사용하여 파일을 전송할 수 있다.

6. 파일 다운로드

curl -o outputfile.txt http://example.com/file.txt

파일을 다운로드하여 로컬에 저장할 때 사용한다. -o 옵션을 통해 파일 이름을 지정할 수 있다.

7. HTTP 메소드 변경

curl -X PUT -d "param1=value1&param2=value2" http://example.com/api/resource

HTTP 메소드를 변경하여 PUT 요청을 보낼 수 있다.

8. 쿠키 사용

curl -b cookies.txt -c cookies.txt http://example.com

-b 옵션을 통해 요청에 쿠키를 포함하고, -c 옵션을 통해 쿠키를 파일에 저장한다.

9. 인증

curl -u username:password http://example.com

기본 인증을 사용할 때 -u 옵션을 통해 사용자 이름과 비밀번호를 전달한다.

10. 리디렉션 따라가기

curl -L http://example.com

리디렉션이 있는 URL을 요청할 때 -L 옵션을 사용하여 리디렉션을 따른다.

11. HTTP 응답 코드 확인

curl -I http://example.com

-I 옵션을 사용하여 HTTP 헤더만 요청하고, 응답 코드를 확인할 수 있다.

12. HTTP/2 사용

curl --http2 http://example.com

HTTP/2 프로토콜을 사용하여 요청할 때 --http2 옵션을 사용한다.

cURL은 다양한 옵션을 제공하며, 복잡한 HTTP 작업을 스크립트로 자동화할 때 매우 유용하다. 실무에서 자주 사용하는 시나리오에 따라 cURL 명령어를 작성하고 테스트해보는 것이 좋다.