Curl — набор на все случаи жизни

В данной статье собраны некоторые полезные сниппеты для работы с curl. Curl — это кросс-платформенная служебная программа командной строки, позволяющая взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.

Для справки: curl поддерживает не только протокол HTTP, но и десяток других — DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET и TFTP. Вообщем большой комбайн с различными интересными фичами. Я покажу лишь примеры, которые использовал сам за последнее время.

Get HTTP status code

-s или silent означает не показывать прогресс

-o записать ответ в файл

-w использовать формат для записи, в нашем случае нам нужен только HTTP Status code

Basic auth

-u необходимый для Basic Auth username и password

POST request

-X или —request тип запроса: POST, GET, PUT, DELETE

-d HTTP POST данные

JSON-RPC curl

Verbose mode

-v ключ чтобы сказать curl выводить больше информации о проведенном запросе

Headers only

-I выводит только информацию о заголовках документа:

Fail silently:

-f флаг говорит curl не отдавать никакой информации если запрос завершился с HTTP ошибкой

-H здесь просто request headers

Follow redirects:

— sS флаг выведет ошибку если она произойдет, в ином случае это аналогично работе в silent mode

-L обозначает follow redirects — если придет 302 то curl сделает повторный запрос на адрес указанный в redirect header

Save to file:

-o имя файла, куда сохранить полученный ответ

Retries:

—connect-timeout максимальное время, выделяемое для установки подключения

—max-time максимальное время, выделяемое для проведения операции

—retry-delay время в секундах перед попытками

—retry-max-time максимально время в секундах, после которых можно делать повторы

 

Здесь только малая часть интересных команд у curl. Пост будет добавляться интересными примерами.

Leave a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.