[curl] curl 호출을 통해 HTTP 요청을 사용하여 헤더를 보내는 방법은 무엇입니까?

Linux 상자에서 Apache 서버로 헤더를 보내려고합니다. 컬 콜을 통해 어떻게 이것을 달성 할 수 있습니까?



답변

가져 오기:

JSON으로 :

curl -i -H "Accept: application/json" -H "Content-Type: application/json" http://hostname/resource

XML로 :

curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET http://hostname/resource

게시하다:

데이터 게시 :

curl --data "param1=value1&param2=value2" http://hostname/resource

파일 업로드의 경우 :

curl --form "fileupload=@filename.txt" http://hostname/resource

RESTful HTTP Post :

curl -X POST -d @filename http://hostname/resource

사이트에 로그인 (인증) :

curl -d "username=admin&password=admin&submit=Login" --dump-header headers http://localhost/Login
curl -L -b headers http://localhost/


답변

man curl:

   -H/--header <header>
          (HTTP)  Extra header to use when getting a web page. You may specify
          any number of extra headers. Note that if you should  add  a  custom
          header that has the same name as one of the internal ones curl would
          use, your externally set header will be used instead of the internal
          one.  This  allows  you  to make even trickier stuff than curl would
          normally do. You should not replace internally set  headers  without
          knowing  perfectly well what you're doing. Remove an internal header
          by giving a replacement without content on the  right  side  of  the
          colon, as in: -H "Host:".

          curl  will  make sure that each header you add/replace get sent with
          the proper end of line marker, you should thus not  add  that  as  a
          part  of the header content: do not add newlines or carriage returns
          they will only mess things up for you.

          See also the -A/--user-agent and -e/--referer options.

          This option can be used multiple times to add/replace/remove  multi-
          ple headers.

예:

curl --header "X-MyHeader: 123" www.google.com

-v옵션 을 추가하여 curl이 보낸 요청을 볼 수 있습니다 .


답변

에서 PHP :

curl_setopt($ch, CURLOPT_HTTPHEADER, array('HeaderName:HeaderValue'));

또는 여러 개를 설정할 수 있습니다.

curl_setopt($ch, CURLOPT_HTTPHEADER, array('HeaderName:HeaderValue', 'HeaderName2:HeaderValue2'));


답변

사용하십시오 -H or --header.

매뉴얼 페이지 : http://curl.haxx.se/docs/manpage.html#-H


답변

GET (여러 매개 변수) :

curl -X  GET "http://localhost:3000/action?result1=gh&result2=ghk"

또는

curl --request  GET "http://localhost:3000/action?result1=gh&result2=ghk"

또는

curl  "http://localhost:3000/action?result1=gh&result2=ghk"

또는

curl -i -H "Application/json" -H "Content-type: application/json"  "http://localhost:3000/action?result1=gh&result2=ghk"


답변

나는 우편 배달부를 사용합니다.

원하는 통화를 실행하십시오. 그런 다음 postman은 curl 코드를 표시하는 편리한 도구를 제공합니다.

터미널에서 실행하십시오.
여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오


답변

또한 여러 헤더, 데이터 (예 : JSON)를 보내고 다음과 같이 단일 CUrl 호출에 호출 방법 (POST, GET)을 지정할 수 있습니다.

curl -X POST(Get or whatever) \
  http://your_url.com/api/endpoint \
  -H 'Content-Type: application/json' \
  -H 'header-element1: header-data1' \
  -H 'header-element2: header-data2' \

…… 더 많은 헤더 …….

  -d '{
  "JsonExArray": [
    {
      "json_prop": "1",
    },
    {
      "json_prop": "2",
    }
  ]
}'