cURL 간단 사용법

2020-11-03
  • web
  • 종종 쓰는데, 쓸때마다 옵션을 헷갈려서 주로 사용하는 옵션을 한번 정리해놓는다.

    -X, --request

    Request 시 사용할 method 종류(GET, POST, PUT, PATCH, DELETE) 를 기술한다.

    curl -X POST -H 'Content-Type: application/json' -d "{ \"name\": \"herdin\", \"age\":\"22\" }" https://your.api.server.com
    

    -k, --insecure

    https 사이트를 SSL certificate 검증없이 연결한다.

    -L, --location

    서버에서 HTTP 301 이나 HTTP 302 응답이 왔을 경우 redirection URL 로 따라간다. –max-redirs 뒤에 숫자로 redirection 을 몇 번 따라갈지 지정할 수 있다. 기본 값은 50이다

    -v, --verbose

    동작하면서 자세한 옵션을 출력한다.

    -s, --silent

    정숙 모드. 진행 내역이나 메시지등을 출력하지 않는다. -o 옵션으로 remote data 도 /dev/null 로 보내면 결과물도 출력되지 않는다

    -w, --write-out

    추가 정보를 출력한다

    # 여러 정보 from man curl
    # time_total     The total time, in seconds, that the full operation lasted.
    # url            The URL that was fetched. (Added in 7.75.0)
    # http_code      The numerical response code that was found in the last retrieved HTTP(S) or FTP(s) transfer. In 7.18.2 the alias response_code was 
    # content_type   The Content-Type of the requested document, if there was any.
    # example
    -w %{time_total}\\n
    
    # -H
    # 헤더를 추가한다
    curl -H 'Content-Type: application/json' https://your.api.server.com
    
    # -i
    # 서버가 보낸 응답의 http 헤더를 출력한다.
    # -I 는 서버가 보낸 응답에 헤더만 출력하는 것 같은데 확실치 않다.
    
    # -d, --data
    # HTTP Post data 를 추가한다
    curl -H 'Content-Type: application/json' -d "{ \"name\": \"herdin\", \"age\":\"22\" }" https://your.api.server.com
    
    # -x, --proxy
    # 프록시를 경유해 호출한다 
    curl -v -k --proxy 1.2.3.4:1234 --request GET https://your.api.server.com
    
    # -o, --output
    # 저장될 파일명을 지정한다
    curl -o ktlint0452 https://github.com/pinterest/ktlint/releases/download/0.45.2/ktlint
    
    # -O, --remote-name
    # 저장될 파일명을 리모트 네임으로 사용한다
    curl -O https://github.com/pinterest/ktlint/releases/download/0.45.2/ktlint
    

    참고