curl

curl отправляет HTTP/HTTPS-запросы с хостинга, показывает статус, заголовки и тело, передаёт методы, данные, cookie и Basic Auth, а ответ может сохранить или открыть в редакторе.

СетьВерсия 1.2.5Стабильная
lil-terminal

Обзор

Используйте curl, когда важно увидеть, как удалённый узел отвечает именно серверу: проверить API, перенаправления и заголовки, отдельно пройти по IPv4/IPv6 или сохранить ответ без системной оболочки.

Запрос, ответ и место выполнения

curl выполняется на сервере хостинга, а не в локальном браузере. Начните с обычного GET или только заголовков и добавляйте тело, авторизацию и диагностические флаги только по необходимости; -k намеренно отключает проверку сертификата.

Синтаксис

lil-terminal
curl <url|host|me> [options]

Справочник

curl me

использовать текущий хост

curl example.com

отправить GET-запрос и показать статус и тело

curl example.com -I

показать только заголовки финального ответа

curl example.com -s [file]

сохранить ответ; без имени использовать имя из URL

curl example.com -X POST -d "a=1"

отправить тело запроса

-X <method>

задать HTTP-метод

-d <data>

задать тело запроса; по умолчанию POST

-H "Name: value"

добавить заголовок запроса; можно повторять

-u <user>

использовать HTTP Basic-аутентификацию с вводом пароля в скрытом поле

-c '{"name":"value"}'

отправить cookie из объекта JSON

-s [file] | -o <file>

сохранить ответ на хостинге

-a

дописать вместо замены; требуется -s или -o

-i

добавить итоговые заголовки ответа

-I

показать только итоговые заголовки ответа

-j

показать ответ как структурированный JSON

-edit @edit

открыть тело ответа в текстовом редакторе

-code @code

открыть тело ответа в редакторе кода

-t [seconds]

использовать 5 секунд или тайм-аут от 1 до 300

-T

использовать тайм-аут 300 секунд

-4 | -6

использовать IPv4 или IPv6, когда доступен cURL

-r

не переходить по перенаправлениям

-k

разрешить непроверенный TLS-сертификат для диагностики

Как пользоваться на практике

Начните с curl example.com, чтобы увидеть ответ страницы, или curl example.com -I, если нужны только заголовки. -i добавляет заголовки к содержимому, а -j показывает структурированный JSON. Для API пригодятся -X, -d и повторяемый -H. Через -s и -o ответ сохраняется в файл на хостинге; -a дописывает его к существующему файлу. -edit и -code открывают текстовый ответ в установленном редакторе.

Ограничения и безопасность

Не помещайте пароли в историю команд: -u <user> запрашивает пароль отдельно, но данные из -d и cookie, указанные прямо в команде, могут сохраниться в истории. По умолчанию TLS-сертификат проверяется, перенаправления выполняются (до пяти); -k отключает проверку, -r запрещает переходы. Без PHP-расширения cURL обычные запросы работают через HTTP streams, но -4/-6 требуют cURL. Вывод без сохранения ограничен 8 МиБ, сохранение — 256 МиБ. Обращайтесь только к адресам, которые вправе проверять: с хостинга могут быть доступны внутренние сервисы. Ниже — учебные ответы, а не живые запросы.

Явная проверка IPv4/IPv6

curl -4/-6 сообщает об отсутствии расширения PHP cURL вместо незаметного запроса без фильтра.

Интерактивный пример из `/sandbox/`

Запускайте подготовленные примеры прямо на странице. Результат заранее сформирован и показывается в браузере; команды терминала на сервере не выполняются.

Проверить заголовки и сохранить ответ

Установка и управление

Устанавливайте актуальную совместимую версию. Для полного набора возможностей выбирайте Base, для сокращённого — Minimum; уже установленный модуль обновляет команда upgrade.

Base и Minimum — два пакета одного текущего релиза модуля, а не разные версии команды.

Пакет Base

Установить полный пакет с локальной справкой и всеми опубликованными режимами.

install curl
Пакет Minimum

Установить сокращённый пакет без локальной справки; help <cmd> -i открывает актуальную серверную справку.

install curl -m
Точная публичная версия

Установить именно эту опубликованную версию.

install curl -v 1.2.5
Проверить или обновить

Поручить upgrade проверить совместимость и заменить установленный блок только при необходимости.

upgrade curl
Удалить модуль

Удалить блок расширения, не затрагивая ядро и остальные модули.

install curl -u

Примеры

Примеры можно копировать, но сайт их не выполняет. Перед запуском на реальном проекте проверьте пути, права и разрушающие флаги.

Проверить заголовки и сохранить ответ
curl https://example.com
Учебный сетевой пример — запрос не выполняется
HTTP:		200
URL:		https://example.com/

<!doctype html>
<html>…</html>
Использовать текущий хост
curl me
Учебный сетевой пример — запрос не выполняется
HTTP:		200
URL:		https://example.com/

<!doctype html>
<html>…</html>
Показать только заголовки финального ответа
curl https://example.com -I
Учебный сетевой пример — запрос не выполняется
HTTP/2 200
content-type: text/html; charset=UTF-8
cache-control: max-age=86000
Добавить итоговые заголовки ответа
curl https://example.com -i
Учебный сетевой пример — запрос не выполняется
HTTP/2 200
content-type: text/html; charset=UTF-8

<!doctype html>
<html>…</html>
Показать ответ как структурированный JSON
curl https://example.com -j
Учебный сетевой пример — запрос не выполняется
{
  "status": 200,
  "url": "https://example.com/",
  "headers": [
    "HTTP/2 200",
    "content-type: text/html; charset=UTF-8"
  ],
  "body": "<html>…</html>"
}
Отправить тело запроса
curl https://example.com -X POST -d "name=lil"
Учебный сетевой пример — запрос не выполняется
HTTP: 200
URL: https://example.com/

Example response to a POST request; the server may reject POST or return another status.
Задать тело запроса; по умолчанию POST
curl https://example.com -d "name=lil"
Учебный сетевой пример — запрос не выполняется
HTTP: 200
URL: https://example.com/

Example response to a POST request; the server may reject POST or return another status.
Добавить заголовок запроса; можно повторять
curl https://example.com -H "Accept: application/json"
Учебный сетевой пример — запрос не выполняется
HTTP: 200
URL: https://example.com/

Request contains custom headers; the remote reply depends on the endpoint.
Добавить заголовок запроса; можно повторять
curl https://example.com -H "Accept: application/json" -H "X-Demo: 1"
Учебный сетевой пример — запрос не выполняется
HTTP: 200
URL: https://example.com/

Request contains custom headers; the remote reply depends on the endpoint.
Отправить cookie из объекта JSON
curl https://example.com -c '{"theme":"dark"}'
Учебный сетевой пример — запрос не выполняется
HTTP: 200
URL: https://example.com/

Request includes Cookie: theme=dark; the server decides how to respond.
Использовать HTTP Basic-аутентификацию с вводом пароля в скрытом поле
curl https://example.com -u demo
Учебный сетевой пример — запрос не выполняется
A separate secret-password prompt appears before the request is sent.
Сохранить ответ; без имени использовать имя из URL
curl https://example.com -s
Учебный сетевой пример — запрос не выполняется
sandbox/
  index.html
The response body is saved on the hosting account.
Отклонить неподдерживаемый протокол
curl https://example.com -s tmp/example.html
Учебный сетевой пример — запрос не выполняется
sandbox/tmp/
  example.html
The response body is saved on the hosting account.
Сохранить ответ на хостинге
curl https://example.com -o tmp/example.html
Учебный сетевой пример — запрос не выполняется
sandbox/tmp/
  example.html
The response body is saved on the hosting account.
Дописать вместо замены; требуется -s или -o
curl https://example.com -o tmp/example.html -a
Учебный сетевой пример — запрос не выполняется
sandbox/tmp/
  example.html
The body is appended to the existing file.
Использовать 5 секунд или тайм-аут от 1 до 300
curl https://example.com -t
Учебный сетевой пример — запрос не выполняется
HTTP: 200
URL: https://example.com/

Timeout option changes the maximum wait, not the response format.
Использовать 5 секунд или тайм-аут от 1 до 300
curl https://example.com -t 2
Учебный сетевой пример — запрос не выполняется
HTTP: 200
URL: https://example.com/

Timeout option changes the maximum wait, not the response format.
Использовать тайм-аут 300 секунд
curl https://example.com -T
Учебный сетевой пример — запрос не выполняется
HTTP: 200
URL: https://example.com/

Timeout option changes the maximum wait, not the response format.
Использовать IPv4 или IPv6, когда доступен cURL
curl https://example.com -4
Учебный сетевой пример — запрос не выполняется
HTTP: 200
URL: https://example.com/

Requested IP family IPv4 (requires PHP cURL).
Использовать IPv4 или IPv6, когда доступен cURL
curl https://example.com -6
Учебный сетевой пример — запрос не выполняется
HTTP: 200
URL: https://example.com/

Requested IP family IPv6 (requires PHP cURL).
Не переходить по перенаправлениям
curl https://example.com -r
Учебный сетевой пример — запрос не выполняется
HTTP: 200
URL: https://example.com/

Redirect following disabled; response status depends on endpoint.
Разрешить непроверенный TLS-сертификат для диагностики
curl https://example.com -k
Учебный сетевой пример — запрос не выполняется
HTTP: 200
URL: https://example.com/

Certificate verification disabled for this diagnostic request.
Открыть тело ответа в текстовом редакторе
curl https://example.com -edit
Учебный сетевой пример — запрос не выполняется
The installed text editor opens the response in a protected temporary file.
Открыть тело ответа в редакторе кода
curl https://example.com -code
Учебный сетевой пример — запрос не выполняется
The installed code editor opens the response in a protected temporary file.
Показать ответ как структурированный JSON
curl https://example.com -j -code
Учебный сетевой пример — запрос не выполняется
The installed code editor opens the response in a protected temporary file as formatted JSON.
Открыть тело ответа в текстовом редакторе
curl https://example.com -edit -s tmp/example.html
Учебный сетевой пример — запрос не выполняется
Editor mode cannot be combined with -s or -o
Дописать вместо замены; требуется -s или -o
curl https://example.com -a
Учебный сетевой пример — запрос не выполняется
Append requires an output file
Curl · com
curl ftp://example.com
Учебный сетевой пример — запрос не выполняется
Invalid URL
Использовать IPv4 или IPv6, когда доступен cURL
curl https://example.com -4 -6
Учебный сетевой пример — запрос не выполняется
Choose either IPv4 or IPv6
Задать HTTP-метод
curl https://example.com -X 9bad
Учебный сетевой пример — запрос не выполняется
Invalid HTTP method
Добавить заголовок запроса; можно повторять
curl https://example.com -H "broken"
Учебный сетевой пример — запрос не выполняется
Invalid header
Отправить cookie из объекта JSON
curl https://example.com -c not-json
Учебный сетевой пример — запрос не выполняется
Invalid cookie JSON
Использовать 5 секунд или тайм-аут от 1 до 300
curl https://example.com -t 301
Учебный сетевой пример — запрос не выполняется
Invalid timeout
Сохранить ответ на хостинге
curl https://example.com -o
Учебный сетевой пример — запрос не выполняется
Output file required
Открыть тело ответа в текстовом редакторе
curl https://example.com -edit -code
Учебный сетевой пример — запрос не выполняется
Choose one editor

Связанная документация

Текущая публичная версия

v1.2.52026-10-31

Явная проверка IPv4/IPv6

curl -4/-6 сообщает об отсутствии расширения PHP cURL вместо незаметного запроса без фильтра.