Руководство по curl Команда в Linux #
curl command — универсальный инструмент в Linux, используемый для передачи данных на сервер или с сервера. Он поддерживает различные протоколы, включая HTTP, HTTPS, FTP и другие, и особенно полезен для тестирования API и загрузки файлов.
Базовый синтаксис curl Command #
Синтаксис команды следующий:
curl [OPTIONS] URL
- ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ: Флаги для изменения поведения команды, такие как установка заголовков, указание методов запроса или сохранение вывода в файл.
- URL: Веб-адрес, на который
curlотправит запрос или из которого извлечет данные.
Таблица опций для curl Command #
| Опция | Описание |
-o FILE |
Сохраняет вывод в указанный файл (например, curl -o page.html http://example.com сохраняет содержимое в page.html). |
-O |
Использует удаленное имя файла и сохраняет его локально (например, curl -O http://example.com/image.jpg сохраняет файл как image.jpg). |
-L |
Выполняет перенаправления (полезно для URL-адресов, которые перенаправляют в другие места). |
-I |
Извлекает только заголовки HTTP без тела (полезно для получения метаданных). |
-X METHOD |
Указывает используемый метод HTTP, например GET, POST, DELETE (например, curl -X POST http://example.com). |
-H "Header: Value" |
Добавляет пользовательский заголовок к запросу (например, curl -H "Authorization: Bearer token" http://example.com). |
-d "data" |
Отправляет данные вместе с запросом (обычно используется с запросами POST). |
-u USER:PASS |
Устанавливает базовую аутентификацию (например, curl -u admin:password http://example.com). |
Примеры использования curl Command #
Вот несколько распространенных примеров curl используемая команда:
Загрузить файл #
curl -O http://example.com/file.zip
Эта команда загружает file.zip от http://example.com и сохраняет его под тем же именем.
Сохранить вывод в файл #
curl -o mypage.html http://example.com
Сохраняет вывод из http://example.com в локальный файл с именем mypage.html.
Следуйте перенаправлениям #
curl -L http://example.com
Выполняет любые перенаправления с исходного URL-адреса на конечный пункт назначения.
Извлекать только заголовки HTTP #
curl -I http://example.com
Извлекает и отображает только заголовки HTTP из URL, опуская тело ответа.
Отправить данные с помощью запроса POST #
curl -X POST -d "name=John&age=30" http://example.com/api
Отправляет данные в теле запроса POST http://example.com/api.
Добавить пользовательские заголовки #
curl -H "Content-Type: application/json" -H "Authorization: Bearer token" http://example.com
Устанавливает пользовательские заголовки в запросе, полезные для указания типов контента или токенов авторизации.
Интерпретация curl Результат #
Когда используешь curl, вывод обычно включает в себя следующее:
- Тело ответа: Содержимое запрошенной страницы или данных, если параметры не подавляют или не перенаправляют его.
- Заголовки: HTTP-заголовки включаются, если запрошено с
-Iили при устранении неполадок с кодами состояния HTTP. - Индикатор прогресса: Отображает ход загрузки или выгрузки, если объем передаваемых данных большой.
Резюме #
curl command — это важный инструмент Linux для веб- и API-взаимодействий, поддерживающий многочисленные опции для управления заголовками, полезными данными, методами запросов и т. д. Это мощная утилита для загрузки файлов, тестирования API и проверки ответов сервера.