curl은 커맨드 라인 인터페이스를 통해 URL을 전송하고 데이터를 가져오는 도구입니다. 일반적으로 웹 서비스의 API 호출이나 파일 다운로드 등에 사용됩니다.
명령어
curl 명령어는 다음과 같은 구문을 가집니다.
curl [options] [URL]
여기서 [options]는 curl 실행 옵션을 의미하고, [URL]은 curl로 접근하고자 하는 URL을 의미합니다.
예를 들어, 다음은 http://www.example.com에 GET 요청을 보내는 curl 명령어입니다.
curl http://www.example.com
옵션
url 명령어에서 자주 사용되는 옵션은 다음과 같습니다.
- -H : HTTP 요청 헤더 추가
- -X : HTTP 요청 메서드 지정
- -d : HTTP POST 요청 데이터 추가
- -o : HTTP 응답 결과를 파일로 저장
- -s : 실행 시에 메시지를 출력하지 않고 실행
예를 들어, 다음은 http://www.example.com에 POST 요청을 보내는 curl 명령어입니다.
curl -X POST -H "Content-Type: application/json" -d '{"name":"John","age":30}' http://www.example.com
이 명령어는 application/json 형식의 데이터를 http://www.example.com에 POST 요청으로 보내고, 요청 헤더에 Content-Type을 추가합니다.
응답헤더 확인
curl 호출 시 응답헤더 확인은?
curl을 사용하여 HTTP 요청을 보낸 후, 해당 요청에 대한 HTTP 응답 헤더를 확인하려면 -i 또는 -v 옵션을 사용하면 됩니다.
-i 옵션을 사용하면 HTTP 응답 본문과 함께 응답 헤더가 출력됩니다. 예를 들어, 다음 명령어는 http://www.example.com에 대한 HTTP 요청을 보내고, 응답 헤더와 본문을 출력합니다.
curl -i http://www.example.com
-v 옵션을 사용하면 HTTP 요청 및 응답 전체를 상세하게 출력합니다. 이 옵션은 디버깅 목적으로 사용될 수 있습니다.
curl -v http://www.example.com
출력 결과에서 HTTP 응답 헤더는 요청 본문 전에 나열됩니다. 응답 헤더는 HTTP 상태 코드, 응답 시간, 쿠키, 캐시 제어 정보 등을 포함합니다.
curl 명령어는 매우 다양한 옵션을 제공하므로, 모든 옵션을 나열하기는 어렵습니다. 하지만 일반적으로 자주 사용되는 몇 가지 주요 옵션은 다음과 같습니다.
- -X <METHOD>: HTTP 요청 메서드를 지정합니다. 예를 들어, -X GET으로 GET 요청을 보낼 수 있습니다.
- -H <HEADER>: HTTP 요청 헤더를 추가합니다. 예를 들어, -H "Content-Type: application/json"으로 Content-Type 헤더를 추가할 수 있습니다.
- -d <DATA>: HTTP POST 요청 데이터를 추가합니다. 예를 들어, -d '{"name":"John","age":30}'으로 JSON 형식의 데이터를 추가할 수 있습니다.
- -i: HTTP 응답 헤더를 출력합니다.
- -v: HTTP 요청 및 응답 전체를 출력합니다.
- -o <FILE>: HTTP 응답 본문을 지정한 파일에 저장합니다.
- -s: 실행 시에 메시지를 출력하지 않고 실행합니다.
- -k: SSL 인증서 오류를 무시합니다.
- -u <USER:PASSWORD>: HTTP 기본 인증 정보를 추가합니다.
- --compressed: HTTP 응답 본문을 압축된 형태로 출력합니다.
curl 명령어에 대한 자세한 옵션 설명은 man curl 명령어를 통해 확인할 수 있습니다.
끝.
'Dev > Etc' 카테고리의 다른 글
yum과 dnf 차이점은? (0) | 2023.03.19 |
---|---|
Failed to set locale, defaulting to C.UTF-8 오류 해결 (0) | 2023.03.17 |
Flutter SDK 다운로드 failed ?? 해결하기 (0) | 2022.07.02 |
Google Maps SDK for iOS 를 위한 key 발급 받기 (0) | 2013.06.28 |
특수문자 모음 정리 (0) | 2012.12.12 |