curl
Что такое curl?
curl — команда проекта cURL Дэниела Стенберга. Первый открытый выпуск около 1997 года. В имя входит URL. Команда соединяется с этим адресом и печатает байты, которые приходят. Чаще всего это HTTP и HTTPS, но сам curl — не HTTP. HTTP — имя правила. curl — инструмент, который говорит по этому правилу. Браузер превращает HTML в страницу. curl показывает текст как есть.
Для чего нужен curl?
curl нужен, чтобы проверить API, увидеть заголовок и скачать файл командой.
- Прочитать ответ одного адреса
- Увидеть только заголовки
- Отправить JSON и получить ответ
- Скачать файл в папку
Что можно делать с curl?
Через curl отправляют GET и POST. Видно статус и тело. Кнопку он не рисует и JavaScript не выполняет. Если страница наполняется только скриптом, curl может показать пустой или половинный текст. Если ключ или пароль остаётся внутри команды, он может остаться в истории.
Сложно ли освоить curl?
Открыть один адрес легко. Трудность в заголовке и методе. Отправить POST как GET делает на сервере другую работу. Ошибка сертификата останавливает соединение. Эту проверку не выключают, потому что имя может быть другим сайтом. Если ответ большой, терминал заполняется.
Плюсы и ограничения
Плюс: ответ виден без браузера, команда кладётся в скрипт, заголовок читается отдельно. Ограничение: по странице как человек он не ходит. curl — не сам HTTP и не браузер.
Основные понятия
Адрес говорит, куда идёт. Метод говорит, чего ты хочешь. Ответ состоит из статуса и тела.
- curl без адреса никуда не идёт
- -I просит только заголовок
- -d отправляет тело
- Статус 200 значит, что получено
Короткий пример
Эта команда печатает текст ответа одного адреса. Страницу в окне она не открывает.
curl https://nibrascode.com
Частые вопросы
- curl и браузер — одно и то же? Нет. Браузер рисует страницу. curl показывает текст ответа.
- curl и HTTP — одно и то же? Нет. HTTP — имя правила. curl — команда, которая шлёт запрос по этому правилу.
- JavaScript выполняется? Нет. curl скрипт не запускает. Он только показывает текст, который пришёл.