Programming

curl -GET 및 -X GET

procodes 2020. 7. 28. 22:03
반응형

curl -GET 및 -X GET


Curl은 접두사가 X 인 일련의 다른 http 메소드 호출을 제공하지만없이 동일한 메소드를 제공합니다. 나는 두 가지를 모두 시도했지만 그 차이를 알아낼 수없는 것 같습니다. 누군가이 두 가지 작업이 어떻게 다른지 신속하게 설명 할 수 있습니까?


기본적으로 어떤 요청 메소드를 사용해야하는지 명시 적으로 말하지 않고 curl을 사용합니다. HTTP URL을 전달 curl http://example.com하면 GET을 사용합니다. POST 를 사용 -d하거나 -Fcurl하면 -IHEAD가 발생 -T하여 PUT이됩니다.

어떤 이유로 컬이 수행하는 기본 선택이 마음에 들지 않으면을 지정하여 해당 요청 메소드를 대체 할 수 있습니다 -X [WHATEVER]. 이 방법으로 예를 들어 DELETE를 수행하여 보낼 수 있습니다 curl -X DELETE [URL].

curl -X GET [URL]어쨌든 GET이 사용될 것이므로 무의미 합니다. 같은 맥락에서 그것은 무의미 curl -X POST -d data [URL]...하지만 할 일은 GET 요청에 request-body를 보내는 재미 있고 다소 드문 요청을 할 수 있습니다 curl -X GET -d data [URL].

더 깊이 파기

curl -GET(단일 대시 사용) 은이 목적으로 잘못되었습니다. 이는 -G, -E-T옵션 을 지정하는 것과 동일하며 완전히 다른 작업을 수행합니다.

또한 --get문제를 혼동하지 않도록 컬 옵션 이 있습니다. -G의 긴 형식으로 -dPOST 대신 지정된 데이터를 GET 요청으로 변환하는 데 사용됩니다 .

(나중에 나는 이것을 다루기 위해 curl FAQ를 채우기 위해 여기에 나 자신의 대답을 사용했다 .)

경고

최신 버전의 curl은 상세 모드가 활성화 된 경우 ( -v)- 사용자에게 알리기 위해 불필요하고 잠재적으로 해로운 -X 사용에 대해 사용자에게 알려줍니다 . 이 블로그 게시물 에서 더 설명하고 동기를 부여했습니다 .

-G는 POST + 본문을 GET + 쿼리로 변환

curl에게 -d옵션 세트를 변환하고 POST를 사용하여 요청 본문에 보내는 대신 URL의 쿼리 문자열 끝에 넣고`-G를 사용하여 GET을 발행하도록 요청할 수 있습니다. 이처럼 :

curl -d name=daniel -d grumpy=yes -G https://example.com/

-X [방법]
X를 사용하면 기본 'Get'을 무시할 수 있습니다

** 소문자 x를 대문자로 수정X


아마도 귀하의 질문을 따르지 않지만 GET 방법을 사용하도록 curl에 지시하는 -G 옵션이있는 것처럼 보이고 원하는 방법으로 메소드를 만들 수있는 -X 옵션이 있습니다. curl -G와 curl -XGET은 같은 것입니다. 나는 -GET을 보지 못한다. curl은 -G 이후의 것을 무시하는 것처럼 보인다.

참고 URL : https://stackoverflow.com/questions/8498371/curl-get-and-x-get

반응형