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¶m2=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¶m2=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 명령어를 작성하고 테스트해보는 것이 좋다.