업무/공부
CURL 사용법, 옵션 정리
60cod
2023. 6. 29. 11:40
curl 옵션
| -X (--request) | GET 방식이 아닐 때 HTTP Method 설정 ex) POST, PUT, DELETE, PATCH |
|
| -H (--header) | HTTP Header 항목과 값 정의 | |
| -d (--data) |
POST, PUT 메소드로 요청 시 HTTP Body에 담아서 보낼 데이터 | |
| -d @파일명.형식 | 파일에 담아 전송할 때 ex) -d @data.js |
|
| --data-binary @파일명.형식 |
이미지나 압축 파일 등 전송 ex) --data-binary @test.jpg |
|
| --data-urlencode |
공백 등 특수 문자 변환 단, 모든 특수 문자를 url 형식으로 인코딩 해버리기 때문에 파라미터 여러 개일 경우 옵션을 분리해줘야 한다. ex) "name=test&age=30" → --data-urlencode "name=test" --data-urlencode "age=30" |
|
| JSON 데이터 전송 시 | 1) 홑따옴표로 감싸주기 (쌍따옴표로 감싸주게 되면 데이터 내의 모든 쌍따옴표 앞에 \를 붙여줘야 함.) 2) -H Content-Type : application/json 설정 |
|
| -v (--verbose) | 상세 디버깅 | |
| -i (--include) | 응답 헤더도 출력 | |
| -I (--head) | 응답 바디 없이 응답 헤더만 출력 ← 리턴값 없이 리턴코드만 리턴되는 경우 헤더 정보 확인하기 | |
| -w (--write-out) | '%' 대신 다른 문자를 종료 기호로 사용하고 싶을 때 ex) -w '\n' 요청/응답에 관한 정보 출력할 때 ex) -w %{변수_이름}\n |
|
| -o / -O | 출력 결과를 파일에 저장 | |
| -u | HTTP 인증 전달 ex) curl -u username:password URL |
|
| --connect-timeout | 타임아웃 설정 | |
| --mail-from, --mail-rcpt | SMTP 프로토콜을 이용해 메일 전송 ex) curl --mail-from test@test.com --mail-rcpt test2@test.com | |