cURL 억제 응답 본문
응답 본문의 출력을 억제하도록 cURL에 지시 할 수 있습니까?
제 경우에는 응답 본문이 HTML 페이지이므로 CLI 버퍼가 오버플로되어 관련 정보를 찾기가 어렵습니다. HTTP 응답 코드, 헤더 등과 같은 출력의 다른 부분- 실제 HTML을 제외한 모든 부분을 검사하고 싶습니다 .
-o
스위치와 null
의사 파일을 사용할 수 있습니다 .
유닉스
curl -s -o /dev/null -v http://google.com
윈도우
curl -s -o nul -v http://google.com
여기에 모든 curl 출력과 헤더를 억제하는 방법이 있으며, 오류가 발생하더라도 여전히 표시하는 옵션이 있습니다. 크론 작업 또는 자동화 된 테스트에 유용합니다.
유닉스
모든 출력을 억제하려면 :
curl --silent --output /dev/null http://example.com
출력을 억제하지만 오류가 발생할 경우 계속 표시하려면 다음을 수행하십시오.
curl --silent --output /dev/null --show-error --fail http://example.com
윈도우
모든 출력을 억제하려면 :
curl --silent --output nul http://example.com
출력을 억제하지만 오류가 발생할 경우 계속 표시하려면 다음을 수행하십시오.
curl --silent --output nul --show-error --fail http://example.com
설명 된 매개 변수
--silent
다운로드 진행중인 통계를 억제합니다 (그러나 여전히 HTML 출력을 표시 함) 모드가 활성화 된 경우에도
--output /dev/null
성공적인 출력
--show-error
표시 오류를 숨 깁니다. HTTP 응답이 단순히 DNS / 대신 오류 코드 (404, 500 등)이면 오류가 발생합니다. TCP 오류.silent
--fail
업데이트 : 원래 작성자가 모든 것을 침묵시키기보다는 요청의 헤더와 응답 코드를 검사하고 싶었다는 것을 알고 있습니다. 이를 수행하는 방법에 대한 자세한 내용 은 samael의 답변 을 참조하십시오 .
헤더를 표시하지만 응답 본문을 숨기려면 다음을 사용하는 것이 좋습니다.
curl -sIXGET http://somedomain.com/your/url
나는 curl -I http://somedomain.com/your/url
응답 헤더를 보여주는 데 사용 했습니다. 하지만 문제는 요청 에만 응답하는 API 호출을 테스트하려는 경우 좋지 않은 HEAD
메서드 를 사용하여 요청을한다는 것 GET
입니다. 이것이의 목적이며 -X GET
요청을 GET
.
요약하면 다음과 같습니다.
-s
가죽 진행 출력에서 바 (다른 프로그램으로 배관 때 특히 유용)
-I
방송 헤더 (그러나이 만드는 HEAD
요청)
-XGET
변환이 다시 요청 GET
요청
참조 : http://www.woolie.co.uk/article/curl-full-get-request-dropping-body/
참고 URL : https://stackoverflow.com/questions/32488162/curl-suppress-response-body
'developer tip' 카테고리의 다른 글
속성 이름에 대한 변수를 사용하여 객체 생성 (0) | 2020.10.11 |
---|---|
SimpleXml을 문자열로 (0) | 2020.10.11 |
내 비동기 함수가 Promise {를 반환하는 이유는 무엇입니까? (0) | 2020.10.10 |
logcat에서 이전 데이터를 어떻게 지울 수 있습니까? (0) | 2020.10.10 |
Go 프로그램에 전달 된 명령 줄 인수에 액세스하는 방법은 무엇입니까? (0) | 2020.10.10 |