Скрыть вывод локона


209

Я делаю запрос curl, где он отображает вывод html в консоли, как это

<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'

Но он по-прежнему отображает вывод, как я могу скрыть вывод?

Спасибо


1
Добавить >/dev/nullв конце. Подробнее о файловых дескрипторах читайте
Валентин

Ответы:


323

Из man curl

-s, --silent Тихий или тихий режим. Не показывать индикатор прогресса или сообщения об ошибках. Делает Curl немым. Он по-прежнему будет выводить запрашиваемые вами данные , потенциально даже в терминал / стандартный вывод, если вы не перенаправите их .

Так что если вы не хотите использовать вывод:

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

22
Если вы хотите только ошибки, добавьте -S флаг curl -s -S ' example.com '> / dev / null
Гонсало Цао

Обратите внимание, что вы не можете сделать curl -o /dev/null; это выдаст ошибку записи.
Кит Тайлер

Но вы можете сделать curl ... 2>/dev/nullтолько перенаправление stderr.
Джесси Чисхолм

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параметр.
Саймон Ист

Даже используя -sS он по-прежнему отображает заголовки для меня :(
Freedo
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.