컬 출력 숨기기


209

콘솔에 html 출력을 표시하는 curl 요청을하고 있습니다.

<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at /home/domain/public_html/wp-content/themes/explicit/functions/ajax.php:87) in <b>/home/domain/public_html/wp-content/themes/explicit/functions/ajax.php</b> on line <b>149</b><br />......

기타

CURL 요청을 실행할 때 이러한 출력을 숨기고 CURL을 다음과 같이 실행하려고했습니다.

curl -s 'http://example.com'

그러나 여전히 출력을 표시합니다. 어떻게 출력을 숨길 수 있습니까?

감사


답변:


323

에서 man curl

-s, --silent 자동 또는 자동 모드. 진행률 표시기 또는 오류 메시지를 표시하지 마십시오. 컬을 음소거합니다. 요청한 데이터는 리디렉션하지 않으면 터미널 / stdout에도 출력 됩니다 .

따라서 출력을 원하지 않으면 다음을 사용하십시오.

curl -s 'http://example.com' > /dev/null

22
오류 만 원한다면 -S 플래그 curl -s -S ' example.com '> / dev / null을 추가하십시오.
Gonzalo Cao

당신은 할 수 없습니다 curl -o /dev/null; 쓰기 오류가 발생합니다.
Keith Tyler

그러나 curl ... 2>/dev/nullstderr 만 리디렉션하도록 할 수 있습니다 .
Jesse Chisholm

2
@KeithTyler curl https://www.google.com -o /dev/null는 나를 위해 오류없이 성공합니다. 을 사용하고 curl-7.58.0있습니다.
x-yuri

내 의견으로는 파일을 다운로드 wget하는 대신 사용해야 한다는 의미 curl입니다.
슈트

70

이것은 나에게 더 우아해 보입니다.

curl --silent --output /dev/null http://example.com

또한 HTTP 코드를 보려면 다음을 수행하십시오.

curl --write-out '%{http_code}' --silent --output /dev/null http://example.com

전체 문서는 여기에 있습니다 .


6
여전히 오류를 표시하려면 --show-error매개 변수도 추가 할 수 있습니다 .
Simon East

-sS를 사용해도 여전히 헤더가 표시됩니다 :(
Freedo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.