[curl] curl에 대한 요청 헤더를 어떻게 설정합니까?

curl요청 에 대해 헤더에 여러 값을 전달하려면 어떻게 합니까?



답변

-H매개 변수를 여러 번 사용하십시오 .

curl -H "Accept-Charset: utf-8" -H "Content-Type: application/x-www-form-urlencoded" http://www.some-domain.com


답변

때로는 헤더를 변경하는 것만으로는 충분하지 않으며 일부 사이트는 리퍼러도 확인합니다.

curl -v \
     -H 'Host: restapi.some-site.com' \
     -H 'Connection: keep-alive' \
     -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' \
     -H 'Accept-Language: en-GB,en-US;q=0.8,en;q=0.6' \
     -e localhost \
     -A 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36' \
     'http://restapi.some-site.com/getsomething?argument=value&argument2=value'

이 예에서 참조 자 (-e 또는 –referer curl)는 ‘localhost’입니다.


답변

curl 요청에서 여러 헤더를 전달하려면 단순히 curl 명령을 추가 -H하거나 추가 --header하십시오.

//Simplified
$ curl -v -H 'header1:val' -H 'header2:val' URL

//Explanatory
$ curl -v -H 'Connection: keep-alive' -H 'Content-Type: application/json'  https://www.example.com

더 나아 가기

User-Agent , Cookie , Host 와 같은 표준 HTTP 헤더 필드의 경우 실제로이를 설정하는 다른 방법이 있습니다. curl 명령은 다음 헤더 필드 설정을위한 지정된 옵션을 제공합니다.

  • -A (또는 –user-agent) : “User-Agent”필드를 설정하십시오.
  • -b (또는 –cookie) : “쿠키”필드를 설정하십시오.
  • -e (또는 –referer) : “Referer”필드를 설정하십시오.
  • -H (또는 –header) : “Header”필드 설정

예를 들어 다음 두 명령은 동일합니다. 둘 다 HTTP 헤더에서 “User-Agent”문자열을 변경합니다.

    $ curl -v -H "Content-Type: application/json" -H "User-Agent: UserAgentString" https://www.example.com
    $ curl -v -H "Content-Type: application/json" -A "UserAgentString" https://www.example.com


답변