Skip to content
Назад к блогу
Руководства

Шпаргалка по curl: 40+ примеров команд для HTTP и API

Полная шпаргалка по curl для разработчиков: GET/POST, заголовки, Bearer-авторизация, загрузка и скачивание файлов, тестирование API — более 40 готовых примеров. Попробуйте наши инструменты.

14 мин чтения

Шпаргалка по curl: 40+ примеров команд для HTTP и API

Вы зашли по SSH через три промежуточных хоста на staging-сервер, API возвращает что-то не то, а единственный установленный HTTP-клиент — это curl. Или читаете CI-скрипт, который проверяет работоспособность сервиса, и хотите понять, что на самом деле делает -fsS. Или коллега скинул в Slack однострочник, и его нужно подогнать под себя. curl есть везде, а флаги настолько лаконичны, что все их не помнит никто.

Эта шпаргалка по curl собрана именно для таких моментов. Сначала идёт таблица быстрого доступа с десятком флагов, которые используются ежедневно, а дальше — готовые к копированию примеры команд для типовых задач: запросы GET и POST, отправка заголовков, авторизация по Bearer-токену, загрузка и скачивание файлов, тестирование API в скриптах. В каждой команде стоит реальный рабочий URL (httpbin.org или плейсхолдер api.example.com), так что любой пример можно вставить и попробовать. Поведение сверено с официальной документацией curl и RFC 9110, актуальным стандартом семантики HTTP.

Быстрый справочник — флаги curl, которые действительно пригодятся

Девяносто процентов повседневной работы с curl сводятся к десятку флагов. Добавьте эту таблицу в закладки; остальная часть руководства разбирает каждый из них на рабочих примерах команд curl.

ФлагНазначениеПример
-XЗадать HTTP-методcurl -X DELETE https://api.example.com/items/42
-HДобавить заголовок запроса (можно повторять)curl -H "Accept: application/json" https://httpbin.org/get
-dОтправить тело запроса (подразумевает POST)curl -d "name=alice" https://httpbin.org/post
--jsonОтправить тело JSON + выставить JSON-заголовкиcurl --json '{"id":1}' https://httpbin.org/post
-FОтправить поле/файл multipart-формыcurl -F "file=@report.pdf" https://httpbin.org/post
-oСохранить вывод в файл с заданным именемcurl -o page.html https://example.com
-OСохранить под именем файла на сервереcurl -O https://example.com/archive.zip
-LСледовать за редиректамиcurl -L https://httpbin.org/redirect/2
-uBasic-авторизация user:passcurl -u alice:s3cret https://httpbin.org/basic-auth/alice/s3cret
-iВключить в вывод заголовки ответаcurl -i https://httpbin.org/get
-IПолучить только заголовки (HEAD)curl -I https://example.com
-vПодробный режим: запрос + TLS-рукопожатиеcurl -v https://example.com
-sТихий режим (без индикатора прогресса)curl -s https://httpbin.org/get
-wВывести переменные после передачиcurl -s -o /dev/null -w "%{http_code}" https://example.com
-bОтправить cookie (строка или файл)curl -b cookies.txt https://httpbin.org/cookies
-cСохранить полученные cookie в файлcurl -c cookies.txt https://httpbin.org/cookies/set/a/1
-kПропустить проверку TLS-сертификатаcurl -k https://self-signed.example.com
--http2Запросить HTTP/2curl --http2 https://example.com
--http3Запросить HTTP/3 (QUIC)curl --http3 https://example.com
-TЗагрузить файл методом PUTcurl -T backup.tar https://api.example.com/files/backup.tar
--data-urlencodeURL-кодировать поле телаcurl --data-urlencode "q=hello world" https://httpbin.org/get -G
--max-timeОграничивает общую длительность передачи (секунды)curl --max-time 10 https://example.com
--connect-timeoutОграничивает установку соединения (секунды)curl --connect-timeout 5 https://example.com
--retryПовторяет неудавшуюся передачу N разcurl --retry 3 https://example.com
--limit-rateОграничивает пропускную способность передачиcurl --limit-rate 2M -O https://example.com/big.iso

Основы синтаксиса curl — анатомия запроса

Команда curl — это сам бинарник, несколько флагов и URL. URL может стоять до или после флагов; порядок curl безразличен. А вот что для него важно, так это какие флаги подразумевают метод или тело: они влияют друг на друга.

Простой GET-запрос

Без флага метода curl отправляет GET. Вот и вся команда:

curl https://httpbin.org/get

httpbin возвращает ваш запрос обратно в виде JSON — потому он и удобен для тестирования. Строка запроса добавляется так же, как в браузере:

curl "https://httpbin.org/get?page=2&sort=desc"

Берите URL в кавычки. Голый & указывает оболочке увести команду в фон и молча отбрасывает всё, что идёт после него. Это одна из самых частых ошибок при работе с curl, разобранная в разделе про подводные камни ниже.

Просмотр ответа: тело, заголовки или то и другое

По умолчанию curl выводит только тело ответа. Три флага меняют то, что вы видите:

# Тело + строка статуса + заголовки ответа
curl -i https://httpbin.org/get

# Только заголовки — отправляется запрос HEAD, без тела
curl -I https://example.com

# Полная трассировка: строка запроса, заголовки запроса, TLS-рукопожатие, ответ
curl -v https://example.com

Берите -i, когда нужно тело плюс беглый взгляд на Content-Type или Set-Cookie. -I проверяет ресурс без скачивания (размер файла, дата изменения, цель редиректа). А -v пригодится, когда что-то идёт не так и нужно увидеть, что именно отправил curl.

Следование за редиректами

curl не следует за редиректами, пока его об этом не попросишь. Обратитесь к URL, который возвращает 301 или 302, без -L — и в ответ придёт сам редирект, а не пункт назначения:

# Останавливается на 302, ничего полезного не выводит
curl https://httpbin.org/redirect/1

# Проходит цепочку до финального 200
curl -L https://httpbin.org/redirect/1

Если непонятно, почему запрос приходит туда, куда приходит, -IL покажет код статуса каждого перехода. О том, что означает каждый из этих кодов и почему 301 и 302 не взаимозаменяемы, читайте в шпаргалке по HTTP-кодам состояния.

HTTP-методы в curl (GET, POST, PUT, PATCH, DELETE)

curl выбирает метод автоматически на основе ваших флагов: -d или --json подразумевают POST, обычный URL подразумевает GET. Используйте -X только тогда, когда нужен метод, не совпадающий с отправляемым телом.

GET с параметрами запроса

Собирать строку запроса вручную легко с ошибками, как только в значениях появляются пробелы или &. Флаг -G указывает curl добавить поля --data-urlencode к URL в виде корректно закодированной строки запроса:

curl -G https://httpbin.org/get \
  --data-urlencode "q=hello world" \
  --data-urlencode "tag=c++"

Получается ?q=hello%20world&tag=c%2B%2B: curl сам выполняет процентное кодирование, так что сломанный URL вы не отправите.

POST: данные формы или JSON

curl post request обычно бывает двух видов. Form-encoded (классическое тело HTML-формы):

curl -d "name=alice&role=admin" https://httpbin.org/post

-d выставляет Content-Type: application/x-www-form-urlencoded и сам переключает метод на POST. Для JSON-API отправляйте уже JSON:

curl -d '{"name":"alice","role":"admin"}' \
  -H "Content-Type: application/json" \
  https://httpbin.org/post

Есть способ изящнее, он описан в следующем разделе.

PUT и PATCH

PUT заменяет ресурс целиком; PATCH обновляет его часть. PUT идемпотентен — отправка дважды оставляет то же состояние.

# Заменить ресурс целиком
curl -X PUT -d '{"name":"alice","role":"owner"}' \
  -H "Content-Type: application/json" \
  https://api.example.com/users/7

# Обновить одно поле
curl -X PATCH -d '{"role":"owner"}' \
  -H "Content-Type: application/json" \
  https://api.example.com/users/7

DELETE

DELETE обычно не несёт тела, так что достаточно одного -X:

curl -X DELETE https://api.example.com/users/7

Отправка заголовков и тел JSON

Большая часть реальной работы с API — это заголовки и JSON. Основную нагрузку здесь несут два флага: -H и --json.

Свои заголовки curl через -H

-H добавляет один заголовок и повторяется сколько угодно раз. Так задаются Accept, Authorization, свои X--заголовки и идентификаторы запросов:

curl https://httpbin.org/headers \
  -H "Accept: application/json" \
  -H "X-Request-Id: 9f3c1a" \
  -H "User-Agent: my-cli/1.0"

Чтобы убрать заголовок по умолчанию, который curl иначе отправил бы, передайте ему пустое значение (-H "User-Agent:"). А чтобы отправить заголовок без значения, поставьте точку с запятой (-H "X-Empty;").

POST с JSON: -d или современный флаг --json

Начиная с curl 7.82, --json — идиоматичный способ отправить JSON в curl post request. Он сразу выставляет Content-Type: application/json и Accept: application/json, а тело отправляет без изменений.

# Многословный, старый способ — три части нужно держать в согласии
curl -X POST \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"name":"alice"}' \
  https://httpbin.org/post

# Современный эквивалент
curl --json '{"name":"alice"}' https://httpbin.org/post

--json можно повторять: значения конкатенируются, а --json @file.json читает тело из файла. Для любого JSON-API он предпочтительнее.

Content-Type и Accept

Именно из этих двух заголовков растут ошибки 415 и 406. Content-Type описывает тело, которое вы отправляете; Accept сообщает, что вы хотите получить в ответ. Отправьте JSON на endpoint, принимающий только данные формы, и получите 415 Unsupported Media Type. Запросите XML у API, отдающего только JSON, и можете получить 406 Not Acceptable. (Эти коды разобраны в руководстве по HTTP-кодам состояния.)

Когда ответ приходит стеной минифицированного JSON, отформатируйте его в Форматировщике JSON либо направьте сразу в jq, чтобы вытащить одно поле:

curl -s https://httpbin.org/json | jq '.slideshow.title'

Полный набор фильтров jq — выборка, преобразование и переформирование ответов API — смотрите в шпаргалке по jq для командной строки.

Аутентификация в curl

Почти любой API закрывается одним из четырёх способов авторизации: basic-авторизация, Bearer-токены, API-ключи и cookie.

Basic-авторизация (-u user:pass)

-u отправляет HTTP-заголовок Authorization: Basic с вашими учётными данными в кодировке Base64:

curl -u alice:s3cret https://httpbin.org/basic-auth/alice/s3cret

Опустите пароль (-u alice), и curl спросит его сам, не оставляя в истории оболочки.

Bearer-токены и OAuth

Большинство современных API используют curl bearer token: access-token OAuth 2.0 или API-токен в заголовке Authorization. У curl есть сокращение --oauth2-bearer, равнозначное тому, чтобы прописать заголовок вручную:

# Явный заголовок
curl -H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.abc" \
  https://api.example.com/me

# Сокращение
curl --oauth2-bearer "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.abc" \
  https://api.example.com/me

Если бэкенд отклоняет токен, декодируйте его в Декодере JWT и проверьте поля exp (срок действия), aud (аудитория) и iss (издатель), прежде чем винить curl: обычная причина в истёкшем токене или неверной аудитории.

API-ключи (заголовок или параметр запроса)

Одни API ждут ключ в заголовке, другие — в параметре запроса. Заголовок безопаснее, потому что URL попадают в логи и историю браузера:

# Предпочтительно: ключ в заголовке
curl -H "X-API-Key: sk_live_a1b2c3" https://api.example.com/data

# Менее безопасно: ключ в URL (оседает в логах доступа)
curl "https://api.example.com/data?api_key=sk_live_a1b2c3"

-c пишет файл cookie, -b читает его обратно. Так сессия переносится между запросами:

# Войти и сохранить cookie сессии
curl -c jar.txt -d "user=alice&pass=s3cret" https://httpbin.org/cookies/set/session/abc123

# Переиспользовать на следующем вызове
curl -b jar.txt https://httpbin.org/cookies

Замечание о безопасности: токены и учётные данные допустимы только на HTTPS-соединениях, ведь TLS шифрует заголовки, а простой HTTP нет. Не передавайте секреты прямо в командной строке, где они оседают в истории оболочки и в выводе ps. Читайте заголовок из файла через -H @authfile или берите значение из переменной окружения (-H "Authorization: Bearer $TOKEN").

Скачивание и загрузка файлов

curl получил имя «client URL», потому что перемещение файлов — его изначальная задача. И у скачивания, и у загрузки есть свои флаги, которые стоит знать.

Скачивание: -O, -o и -C -

-O (заглавная O) сохраняет файл под именем, которое было на сервере. -o (строчная) даёт выбрать имя самому. -C - возобновляет частично скачанный файл с того места, где он оборвался:

# Сохранить под именем с сервера: archive.zip
curl -O https://example.com/downloads/archive.zip

# Сохранить под выбранным вами именем
curl -o backup.zip https://example.com/downloads/archive.zip

# Возобновить прерванное скачивание
curl -C - -O https://example.com/downloads/archive.zip

# Следовать за редиректами к настоящему файлу (часто на CDN)
curl -OL https://example.com/latest/archive.zip

Чтобы выполнить curl download file для содержимого, спрятанного за редиректом, добавьте -L: страницы релизов и ссылки CDN почти всегда перенаправляют.

Загрузка: -T и -F

-T загружает файл методом PUT, отправляя сырые байты как тело (типично для объектных хранилищ и файловых REST-endpoint). -F отправляет запрос multipart/form-data — тот же формат, что использует браузер для полей загрузки файлов:

# PUT сырых байтов
curl -T report.pdf https://api.example.com/files/report.pdf

# Загрузка multipart/form-data (обратите внимание на префикс @)
curl -F "file=@report.pdf" -F "title=Q2 report" https://httpbin.org/post

Префикс @ говорит curl прочитать содержимое файла. Без него -F "file=report.pdf" отправит буквальную строку report.pdf, а не файл.

--data-urlencode и процентное кодирование

Когда значение содержит пробелы, &, = или символы вне ASCII, -d отправляет его как есть и ломает запрос. --data-urlencode кодирует такое значение корректно:

# Неправильно: & разрезает тело, пробел недопустим
curl -d "q=hello world&filter=a&b" https://httpbin.org/post

# Правильно: каждое поле кодируется процентами
curl --data-urlencode "q=hello world" \
  --data-urlencode "filter=a&b" \
  https://httpbin.org/post

Если нужно понять, что означают эти последовательности %20 и %26, или отладить значение с двойным кодированием, вставьте его в URL декодер и кодировщик либо прочитайте разбор на уровне байтов в руководстве по URL-кодированию и декодированию.

Тестирование API и анализ ответов

curl особенно хорош в скриптах и CI: -w раскрывает всё о передаче, а коды возврата делают сбои заметными.

Только код статуса

Чтобы получить лишь HTTP-статус, отбросьте тело через -o /dev/null и выведите код через -w:

curl -s -o /dev/null -w "%{http_code}\n" https://httpbin.org/status/204
# → 204

Это основа любой проверки работоспособности в curl api testing. Что означает полученное число, разбирает шпаргалка по HTTP-кодам состояния — по каждому диапазону.

Разбивка по времени

-w раскрывает переменные времени, так что видно, куда оно уходит: DNS, TCP-соединение, TLS или сам сервер:

curl -s -o /dev/null \
  -w "dns=%{time_namelookup}s connect=%{time_connect}s tls=%{time_appconnect}s total=%{time_total}s\n" \
  https://example.com
# → dns=0.004s connect=0.021s tls=0.058s total=0.142s

Высокий time_appconnect указывает на TLS, высокий time_starttransfer — на медленный бэкенд.

Тихо, но с показом ошибок

-s прячет индикатор прогресса, но заодно прячет и сообщения об ошибках, и это ловушка в скриптах. Сочетайте его с -S, чтобы curl молчал при успехе и всё же сообщал о сбоях:

curl -sS https://api.example.com/health

curl в CI / скриптах: падать на HTTP-ошибках

По умолчанию curl завершается с кодом 0 даже при 404 или 500, потому что сама передача удалась. Для проверки работоспособности это ровно наоборот тому, что нужно. -f (fail) заставляет curl завершаться с ненулевым кодом при HTTP-ошибках, чтобы ваш конвейер их ловил:

# Заваливает сборку, если endpoint возвращает 4xx/5xx
curl -fsS https://api.example.com/health || exit 1

-fsS (fail, silent, show-errors) — каноническая комбинация для проверки работоспособности. Когда нужна диагностика побогаче, --fail-with-body (curl 7.76+) всё же выводит тело ответа с ошибкой перед завершением.

Тайм-ауты и повторные попытки

Проверка работоспособности, которая висит вечно, хуже той, что быстро падает. Ограничивайте каждый запрос в скрипте: --max-time (потолок на всю передачу) и --connect-timeout (потолок только на установку соединения):

# Сдаться после 5 с соединения, 10 с в сумме
curl --connect-timeout 5 --max-time 10 -fsS https://api.example.com/health

В нестабильной сети --retry повторяет неудавшуюся передачу с экспоненциальной задержкой. По умолчанию повторяются только временные сбои (тайм-ауты, 5xx); добавьте --retry-all-errors, чтобы повторять и отклонённые соединения:

# До 3 попыток с растущей паузой между ними
curl --retry 3 --retry-all-errors --max-time 30 -fsS https://api.example.com/health

Когда скрипт скачивает большой файл и вы не хотите перегружать канал, --limit-rate ограничивает пропускную способность — --limit-rate 2M держит её на 2 МБ/с.

HTTP/1.1, HTTP/2 и HTTP/3 в curl

curl согласует версию HTTP поверх TLS через ALPN. Версию можно задать принудительно, когда нужно протестировать конкретный путь протокола.

--http2 и --http3

# Запросить HTTP/2 (откатывается к 1.1, если недоступен)
curl --http2 https://example.com

# Запросить HTTP/3 поверх QUIC
curl --http3 https://example.com

HTTP/3 работает поверх QUIC и требует TLS 1.3. Он сработает, только если ваш curl собран с бэкендом, поддерживающим HTTP/3, и сервер анонсирует его через заголовок Alt-Svc. Запустите curl --version и убедитесь, что HTTP3 есть в строке возможностей; если нет, --http3 выдаст ошибку.

Подробная информация о TLS / ALPN

-v показывает согласованный протокол и TLS-рукопожатие; так и проверяется, что версия действительно вступила в силу:

curl -v --http2 https://example.com 2>&1 | grep -i "ALPN\|HTTP/2"
# → * ALPN: server accepted h2
# → > GET / HTTP/2

Ищите ALPN: server accepted h2 (HTTP/2) или h3 (HTTP/3) в выводе рукопожатия.

8 частых ошибок с curl (и как их исправить)

Эти восемь рано или поздно подставляют каждого.

  1. Одинарные или двойные кавычки. Двойные кавычки позволяют оболочке раскрывать $VARS; одинарные передают всё буквально. Используйте одинарные кавычки для тел JSON, чтобы $ и ! не интерпретировались: curl --json '{"price":"$5"}'. Используйте двойные кавычки, когда раскрытие нужно: -H "Authorization: Bearer $TOKEN".

  2. -d не выполняет URL-кодирование. Пробел или & в значении -d портит тело. Переходите на --data-urlencode для любого значения, которое ещё не закодировано.

  3. Лишний -X POST вместе с -d. -d уже подразумевает POST. Писать -X POST -d ... безвредно, но избыточно; хуже того, -X GET -d ... отправляет тело с GET, и это сбивает с толку некоторые серверы. Пусть метод задаёт флаг тела.

  4. Забытый @ при чтении из файла. -d @body.json читает файл; -d body.json отправляет буквальный текст body.json. Та же ловушка с -F "file=@upload.png" против -F "file=upload.png".

  5. Хвататься за -k при ошибках сертификата. -k отключает проверку TLS и прячет настоящие проблемы (истёкшие сертификаты, неверный хост, отсутствующий промежуточный сертификат). Устраняйте первопричину: установите CA через --cacert ca.pem или обновите системное хранилище доверенных сертификатов. Приберегите -k для самоподписанного dev-сервера, который вы полностью контролируете.

  6. -s, проглатывающий ошибки. Тихий режим прячет сбои в скриптах. Всегда используйте -sS, чтобы ошибки всё же всплывали.

  7. [ ] { } в URL, попадающие под globbing. curl трактует [1-5] и {a,b} как URL-диапазоны/списки. URL с буквальными скобками (часто в параметрах-массивах вроде arr[]=1) искажается. Отключите globbing через -g: curl -g "https://api.example.com/items?id[]=1&id[]=2".

  8. Регистр и дубликаты заголовков. Имена HTTP-заголовков регистронезависимы, но отправка одного и того же заголовка дважды обычно отправляет оба — одни серверы берут первый, другие последний, третьи отклоняют запрос. Если вы переопределяете значение по умолчанию вроде User-Agent, задайте его один раз через -H, а не полагайтесь на порядок.

curl, wget или HTTPie — что выбрать

Все три скачивают данные по HTTP, но заточены под разные задачи. Вот решение curl vs wget (плюс HTTPie) одним взглядом:

ЗадачаcurlwgetHTTPie
Быстрый вызов API / отладкаОтличноОграниченноОтлично
Тела JSONХорошо (--json)НеудобноОтлично (нативно)
Рекурсивное скачивание / зеркалирование сайтаНетОтлично (-r)Нет
Возобновление + повторы крупных загрузокХорошо (-C -)Отлично (встроено)Нет
Скриптинг / CI (коды возврата, -w)ОтличноХорошоХорошо
Красивый цветной вывод по умолчаниюНетНетОтлично
Предустановлен почти вездеДаЧастоРедко

Если коротко: берите curl для отладки API и скриптов (он есть везде, а -w не имеет равных), HTTPie — когда нужна удобная работа с JSON на своей машине, и wget — для зеркалирования сайтов или пакетного скачивания файлов с автоповторами.

Часто задаваемые вопросы

Для чего используется curl?

curl — это инструмент командной строки для передачи данных на сервер и обратно по HTTP, HTTPS, FTP и многим другим протоколам. Разработчики вызывают и отлаживают им API, скачивают и загружают файлы, запускают проверки работоспособности в скриптах и CI-конвейерах.

Как отправить POST-запрос через curl?

Возьмите -d для данных формы или --json для JSON: curl --json '{"name":"alice"}' https://httpbin.org/post. Оба флага сами выставляют метод POST, так что -X POST не нужен.

Как добавить заголовок в curl?

Возьмите -H "Name: value" и повторяйте для нескольких заголовков: curl -H "Accept: application/json" -H "X-Request-Id: 9f3c1a" https://httpbin.org/headers. Количество передач -H ничем не ограничено.

Как отправить Bearer-токен через curl?

Передайте заголовок Authorization: curl -H "Authorization: Bearer YOUR_TOKEN" https://api.example.com/me, либо используйте сокращение --oauth2-bearer YOUR_TOKEN. Отправляйте токены только по HTTPS и декодируйте их в Декодере JWT при отладке.

Как скачать файл через curl?

Возьмите -O, чтобы сохранить имя файла с сервера, или -o name, чтобы выбрать своё: curl -O https://example.com/archive.zip. Добавьте -L для следования за редиректами и -C - для возобновления прерванного скачивания.

Как увидеть только HTTP-код состояния через curl?

Отбросьте тело и выведите код: curl -s -o /dev/null -w "%{http_code}" https://example.com. Это стандартный шаблон для проверок работоспособности в скриптах.

В чём разница между curl и wget?

curl передаёт один ресурс и по умолчанию пишет в stdout, потому и удобен для вызовов API и скриптинга. wget заточен под скачивание, включая рекурсивное зеркалирование и автоповторы. Для тестирования API берите curl; для массового скачивания файлов — wget.

Доступен ли curl в Windows?

Да. curl поставляется с Windows 10 (сборка 1803+) и Windows 11, доступен как curl в командной строке и в PowerShell. Учтите, что PowerShell исторически делал curl псевдонимом для Invoke-WebRequest, поэтому при странном поведении флагов вызывайте curl.exe явно.

Подводя итог

curl отзывается на небольшое усилие по запоминанию: таблица флагов в начале покрывает почти всё, что вы будете набирать, а дальше остаётся понять, какие флаги подразумевают метод, какие требуют кавычек и какие обманывают вас в скриптах (это о тебе, голый -s). Держите эту шпаргалку по curl открытой рядом с терминалом. Если вы предпочитаете составлять команды интерактивно, попробуйте наш конструктор команд cURL для их визуальной генерации.

Естественные следующие шаги в работе с API — в одном клике. Отправьте запрос через curl, прочитайте ответ со шпаргалкой по HTTP-кодам состояния, затем отформатируйте JSON в Форматировщике JSON или разберите его по кусочкам со шпаргалкой по jq для командной строки. Полный список опций подробно изложен в руководстве по curl, а HTTP-справочник MDN объясняет семантику каждого метода и заголовка.

Теги: curl http rest-api command-line developer-reference

Похожие статьи

Все статьи