| 
 Утилита командной строки curl очень удобна для тестирования поведения веб-сервера и для автоматизации административных действий. 
curl -h 
Usage: curl [options...] < url> 
     --abstract-unix-socket < path> Подключиться через абстрактный Unix domain socket      --alt-svc < имя файла> Разрешить alt-svc с этим файлом кэша      --anyauth       Взять любой метод аутентификации  -a, --append        Добавить к целевому файлу при выгрузке      --basic         Использовать HTTP Basic Authentication      --cacert < file> CA сертификат для проверки пира      --capath < dir>  CA директория для проверки пира  -E, --cert < certificate[:password]> Файл сертификата клиента и пароль      --cert-status   Проверка статуса сертификата сервера      --cert-type < type> Формат файла сертификата (DER/PEM/ENG)      --ciphers < list of ciphers> Шифровальшики SSL для использования      --compressed    Запрос сжатого ответа      --compressed-ssh Разрешить сжатие SSH  -K, --config < file> Прочитать конифигурацию из файла      --connect-timeout < сек> Максимальное время, разрешенное для соединения (секунд)      --connect-to < HOST1:PORT1:HOST2:PORT2> Подключиться к хосту  -C, --continue-at < offset> Смещение для возобновления передачи  -b, --cookie < data|имяфайла> Послать куки из строки/файла  -c, --cookie-jar < имяфайла> Записать куки в < имяфайла> после завершения операции      --create-dirs   Создать необходимую иерархию локальной директории      --crlf          Преобразовать LF в CRLF при выгрузке      --crlfile < файл> Получить список CRL в формате PEM из указанного файла  -d, --data < data>  HTTP POST data      --data-ascii < data> HTTP POST ASCII data      --data-binary < data> HTTP POST binary data      --data-raw < data> HTTP POST data, разрешается использовать '@'      --data-urlencode < data> HTTP POST data закодированные как url      --delegation < LEVEL> разрешение делегирования GSS-API      --digest        Использовать HTTP Digest Authentication  -q, --disable       Запрет .curlrc      --disable-eprt  Запрет использования EPRT или LPRT      --disable-epsv  Запрет использования EPSV      --disallow-username-in-url Не разрешать имя пользователя в url      --dns-interface < interface> Интерфейс для использования запросов DNS      --dns-ipv4-addr < address> адрес IPv4 для использования запросов DNS      --dns-ipv6-addr < address> адрес IPv6 для использования запросов DNS      --dns-servers < addresses> адреса серверов DNS для использования      --doh-url < URL> Разрешение имен хоста через DOH  -D, --dump-header < имяфайла> Запись принятых заголовков в файл      --egd-file < файл> Путь EGD сокета для случайных данных      --engine < name> Используемая подсистема шифрования      --etag-save < файл> Получить ETag из заголовка ответа, и сохранение его в файл      --etag-compare < файл> Получить ETag из файла и отправка запроса с условием      --expect100-timeout < сек> Сколько ждать (в секундах) для 100-continue  -f, --fail          Использовать тихий отказ (без какого-либо вывода) при ошибках HTTP      --fail-early    Отказ на первой ошибке передачи, без продолжения      --false-start   Разрешить TLS False Start  -F, --form < name=content> Указать multipart MIME data      --form-string < name=string> Указать multipart MIME data      --ftp-account < data> Строка данных учетной записи      --ftp-alternative-to-user < command> Строка для замены USER [name]      --ftp-create-dirs Создать удаленную директорию, если она не существует      --ftp-method < method> Управление использованием CWD      --ftp-pasv      Использовать PASV/EPSV вместо PORT  -P, --ftp-port < address> Использовать PORT вместо PASV      --ftp-pret      Отправка PRET перед PASV      --ftp-skip-pasv-ip Пропуск IP-адреса для PASV      --ftp-ssl-ccc   Отправка CCC после аутентификации      --ftp-ssl-ccc-mode < active/passive> Установить режим CCC      --ftp-ssl-control Требовать SSL/TLS для логина FTP, clear для передачи  -G, --get           Поместить post данные в URL, и использовать GET  -g, --globoff       Запрет последовательностей URL и диапазонов с использованием {} и []      --happy-eyeballs-timeout-ms < мс> Сколько ждать в миллисекундах для IPv6 пере попыткой перейти на IPv4      --haproxy-protocol Отправить заголовок v1 протокола HAProxy PROXY  -I, --head          Показать только информацию документа  -H, --header < header/@file> Передать на сервер пользовательский заголовок (заголовки)  -h, --help          Вывести этот текст подсказки      --hostpubmd5 < md5> Допустимый хэш MD5 публичного ключа хоста      --http0.9       Разрешить ответы HTTP 0.9  -0, --http1.0       Использовать HTTP 1.0      --http1.1       Использовать HTTP 1.1      --http2         Использовать HTTP 2      --http2-prior-knowledge Использовать HTTP 2 без HTTP/1.1 Upgrade      --http3         Использовать HTTP v3      --ignore-content-length Игнорировать размер удаленного ресурса  -i, --include       Подключить в вывод заголовки ответа протокола  -k, --insecure      Разрешить небезопасные подключения к серверу при использовании SSL [2]      --interface < name> Использовать указанный сетевой интерфейс (или его адрес)  -4, --ipv4          Преобразовать имена в адреса IPv4  -6, --ipv6          Преобразовать имена в адреса IPv6  -j, --junk-session-cookies Игнорировать куки сессии, прочитанные из файла      --keepalive-time < сек> Время интервала для попыток проверки keepalive      --key < key>    Имя файла приватного ключа      --key-type < type> Формат файла приватного ключа (DER/PEM/ENG)      --krb < level>  Разрешить Kerberos с указанным уровнем безопасности      --libcurl < файл> Вывести эквивалентный для этой строки команды дамп кода libcurl      --limit-rate < скорость> Ограничить скорость передачи до указанной  -l, --list-only     Режим "только прослушивание"      --local-port < num/range> Принудительное использование указанного диапазона для номеров локальных портов  -L, --location      Следовать перенаправлениям      --location-trusted Наподобие --location, и отправка аутентификации на другие хосты      --login-options < options> Опции логина сервера      --mail-auth < address> Адрес отправителя исходного сообщения электронной почты      --mail-from < address> Отправить email от имени этого адреса      --mail-rcpt < address> Отправить email на этот адрес  -M, --manual        Показать полное руководство (== man curl)      --max-filesize < bytes> Максимальный размер файла для загрузки      --max-redirs < num> Максимальное количество разрешенных перенаправлений  -m, --max-time < сек> Максимальное отведенное время для передачи (секунд)      --metalink      Обработать предоставленные URL как файл metalink XML      --negotiate     Использовать аутентификацию HTTP Negotiate (SPNEGO)  -n, --netrc         Нужно прочитать .netrc для username и password      --netrc-file < имяфайла> Указать файл для netrc      --netrc-optional Использовать либо .netrc, либо URL  -:, --next          Сделать следующий URL отдельным набором параметров      --no-alpn       Запретить расширение ALPN TLS  -N, --no-buffer     Запретить буферизацию выходного потока      --no-keepalive  Запретить TCP keepalive на соединении      --no-npn        Запретить расширение NPN TLS      --no-progress-meter Не показывать полосу прогресса      --no-sessionid  Запретить повторное использование SSL session-ID      --noproxy < no-proxy-list> Список хостов, которые не используют прокси      --ntlm          Использовать аутентификацию HTTP NTLM      --ntlm-wb       Использовать аутентификацию HTTP NTLM вместе с winbind      --oauth2-bearer < token> OAuth 2 Bearer Token  -o, --output < файл> Записать в файл вместо stdout  -Z, --parallel      Выполнять передачи параллельно      --parallel-immediate Не ждать мультиплексирования (с --parallel)      --parallel-max  Максимальная конкурентность для параллельных передач      --pass < phrase> Фраза пароля для приватного ключа      --path-as-is    Не разбивать последовательности .. в пути URL      --pinnedpubkey < hashes> FILE/HASHES Публичный ключ для проверки пира      --post301       Не переключаться на GET после кода статуса 301      --post302       Не переключаться на GET после кода статуса a 302      --post303       Не переключаться на GET после кода статуса 303      --preproxy [protocol://]host[:port] Использовать сначала прокси  -#, --progress-bar  Отображать выполнение процесса как полосу      --proto < protocols> Разрешить/запретит ПРОТОКОЛы      --proto-default < protocol> Использовать ПРОТОКОЛ для любого URL, где нет схемы      --proto-redir < protocols> Разрешить/запретить ПРОТОКОЛы при перенаправлении  -x, --proxy [protocol://]host[:port] Использовать этот прокси      --proxy-anyauth Взять любой метод аутентификации прокси      --proxy-basic   Использовать базовую аутентификацию на прокси      --proxy-cacert < файл> сертификат CA для проверки пира для прокси      --proxy-capath < dir> директория CA для проверки пира для прокси      --proxy-cert < cert[:passwd]> Установка сертификата клиента для прокси      --proxy-cert-type < type> Тип клиентского сертификата для прокси HTTPS      --proxy-ciphers < list> Шифровальшики SSL для использования с proxy      --proxy-crlfile < файл> Установить список CRL для прокси      --proxy-digest  Использовать аутентификацию цифровой подписью для прокси      --proxy-header < header/@file> Переадать пользовательский заголовок (заголовки) для прокси      --proxy-insecure Выполнять соединения HTTPS прокси без верификации прокси      --proxy-key < key> Приватный ключ для HTTPS прокси      --proxy-key-type < type> Тип приватного файла ключа для прокси      --proxy-negotiate Использовать аутентификацию HTTP Negotiate (SPNEGO) на прокси      --proxy-ntlm    Использовать аутентификацию NTLM на прокси      --proxy-pass < phrase> Фраза пароля для приватного ключа HTTPS прокси      --proxy-pinnedpubkey < hashes> FILE/HASHES публичный ключ для верификации прокси      --proxy-service-name < name> Имя службы SPNEGO прокси      --proxy-ssl-allow-beast Разрешить security flaw для взаимодействия с HTTPS прокси      --proxy-tls13-ciphers < list> Решения шифрования TLS 1.3 для прокси (OpenSSL)      --proxy-tlsauthtype < type> Тип аутентификации TLS для HTTPS прокси      --proxy-tlspassword < string> пароль TLS для HTTPS прокси      --proxy-tlsuser < name> имя пользователя TLS для HTTPS прокси      --proxy-tlsv1   Использовать TLSv1 для HTTPS прокси  -U, --proxy-user < user:password> Имя пользователя и пароль прокси      --proxy1.0 < host[:port]> Использовать HTTP/1.0 прокси на указанном порту  -p, --proxytunnel   Работать через туннель HTTP прокси (используя CONNECT)      --pubkey < key> Имя файла публичного ключа  -Q, --quote         Отправить на сервер команду (команды) перед передачей      --random-file < файл> Файл для чтения оттуда случайных данных  -r, --range < range> Извлекать байты только в ДИАПАЗОНЕ      --raw           Делать HTTP "raw"; без декодирования транзации  -e, --referer < URL> URL ссылки  -J, --remote-header-name Использовать имя файла, предоставленное в заголовке  -O, --remote-name   Записать вывод в файл, именованный как сетевой файл      --remote-name-all Использовать сетевое имя файла для всех URL  -R, --remote-time   Установить время сетевого файла на локальный вывод  -X, --request < command> Указать используемую команду запроса      --request-target Указать цель для этого запроса      --resolve < host:port:address[,address]...> Разрешать host+port на указанный адрес      --retry < num>  Повторить запрос указанное число раз в случае проблемы      --retry-connrefused Попробовать соединиться повторно при отказе в соединении (вместе с --retry)      --retry-delay < сек> Подождать указанное число секунд перед повторной попыткой      --retry-max-time < сек> Делать повторы только в течение указанного периода в секундах      --sasl-authzid < identity> Использовать этот идентификатор, чтобы он действовал как аутентификация SASL PLAIN      --sasl-ir       Разрешит начальный ответ в аутентификации SASL      --service-name < name> Имя службы SPNEGO  -S, --show-error    Показать ошибку, даже когда использовалась опция -s  -s, --silent        "Тихий" режим      --socks4 < host[:port]> Прокси SOCKS4 на указанных host+port      --socks4a < host[:port]> Прокси SOCKS4a на указанных host+port      --socks5 < host[:port]> Прокси SOCKS5 на указанных host+port      --socks5-basic  Разрешить аутентификацию username/password для проксей SOCKS5      --socks5-gssapi Разрешить аутентификацию GSS-API для проксей SOCKS5      --socks5-gssapi-nec Совместимость с сервером NEC SOCKS5      --socks5-gssapi-service < name> Имя службы прокси SOCKS5 для GSS-API      --socks5-hostname < host[:port]> Прокси SOCKS5, передача имя хоста для прокси  -Y, --speed-limit < скорость> Остановить передачи, превышающие указанную скорость  -y, --speed-time < сек> Сбросить ограничение скорости после указанного времени (в секундах)      --ssl           Попробовать SSL/TLS      --ssl-allow-beast Позволить security flaw для улучшения взаимодействия      --ssl-no-revoke Запретит проверки отозванных сертификатов (Schannel)      --ssl-reqd      Требовать SSL/TLS  -2, --sslv2         Использовать SSLv2  -3, --sslv3         Использовать SSLv3      --stderr        Куда перенаправлять stderr      --styled-output Разрешит стилизованный вывод для заголовков HTTP      --suppress-connect-headers Подавлять заголовки CONNECT прокси      --tcp-fastopen  Использовать TCP Fast Open      --tcp-nodelay   Использовать опцию TCP_NODELAY  -t, --telnet-option < opt=val> Установить опцию telnet      --tftp-blksize < value> Установить опцию TFTP BLKSIZE      --tftp-no-options Не передавать никакие опции TFTP  -z, --time-cond < time> Передача, основанная на времени      --tls-max < VERSION> Установить максимальную разрешенную версию TLS      --tls13-ciphers < список> Решения шифрования TLS 1.3 (OpenSSL)      --tlsauthtype < type> Тип аутентификации TLS      --tlspassword   Пароль TLS      --tlsuser < name> Имя пользователя TLS  -1, --tlsv1         Использовать TLSv1.0 или более свежую версию      --tlsv1.0       Использовать TLSv1.0 или более свежую версию      --tlsv1.1       Использовать TLSv1.1 или более свежую версию      --tlsv1.2       Использовать TLSv1.2 или более свежую версию      --tlsv1.3       Использовать TLSv1.3 или более свежую версию      --tr-encoding   Запрос сжатого кодирования передачи      --trace < файл> Записать трассировку отладки в ФАЙЛ      --trace-ascii < файл> Наподобие --trace, но без HEX-вывода      --trace-time    Добавить метки времени для трассировки/verbose вывода      --unix-socket < path> Соединяться через этот Unix domain socket  -T, --upload-file < файл> Передать локальный ФАЙЛ в место назначения      --url < url>    URL, с которым надо работать  -B, --use-ascii     Использовать передачу ASCII/текст  -u, --user < user:password> Имя и пароль сервера  -A, --user-agent < name> Передать на сервер User-Agent < name>  -v, --verbose       Более подробный вывод о том, что происходит  -V, --version       Показать номер версии и выйти  -w, --write-out < формат> Использовать ФОРМАТ вывода после завершения      --xattr         Сохранить метаданные в расширенных атрибутах файла 
[Ссылки] 
1. How do I POST JSON data with cURL? site:stackoverflow.com. 2. curl: проблема с самоподписанным сертификатом SSL.  |