Скиллы Новичок Веб и поиск

curl — HTTP Client

Скачать ZIP
12
Предупреждение о рисках!

Установка скиллов и плагинов OpenClaw осуществляется на ваш страх и риск. Все файлы были получены из открытых источников и предоставляются «как есть». Мы не гарантируем их корректную работу, безопасность или совместимость с вашей системой. Перед установкой настоятельно рекомендуется ознакомиться с содержимым кода и убедиться, что вы понимаете, какие изменения будут внесены в вашу систему.

curl — это инструмент командной строки для выполнения HTTP-запросов и передачи данных. Он широко используется для тестирования API, загрузки файлов и отладки сетевых взаимодействий. :

Базовые запросы

GET-запросы

# Простой GET-запрос
curl https://api.example.com

# Сохранить результат в файл
curl https://example.com -o output.html
curl https://example.com/file.zip -O # сохранить с оригинальным именем

# Следовать редиректам
curl -L https://example.com

# Показать заголовки ответа
curl -i https://example.com

# Только заголовки
curl -I https://example.com

# Подробный вывод (для отладки)
curl -v https://example.com

POST-запросы

# POST с данными формы
curl -X POST https://api.example.com/users \
 -d "name=John&email=john@example.com"

# POST JSON-данных
curl -X POST https://api.example.com/users \
 -H "Content-Type: application/json" \
 -d '{"name":"John","email":"john@example.com"}'

# POST из файла
curl -X POST https://api.example.com/users \
 -H "Content-Type: application/json" \
 -d @data.json

Другие HTTP-методы

# PUT-запрос
curl -X PUT https://api.example.com/users/1 \
 -H "Content-Type: application/json" \
 -d '{"name":"Jane"}'

# DELETE-запрос
curl -X DELETE https://api.example.com/users/1

# PATCH-запрос
curl -X PATCH https://api.example.com/users/1 \
 -H "Content-Type: application/json" \
 -d '{"email":"newemail@example.com"}'

Заголовки и аутентификация

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

# Базовая авторизация
curl -u username:password https://api.example.com

# Bearer-токен
curl -H "Authorization: Bearer YOUR_TOKEN" \
 https://api.example.com

# API-ключ в заголовке
curl -H "X-API-Key: your_api_key" \
 https://api.example.com

# API-ключ в URL
curl "https://api.example.com?api_key=your_key"

Продвинутые возможности

Таймауты и повторы

# Таймаут подключения
curl --connect-timeout 10 https://example.com

# Максимальное время выполнения
curl --max-time 30 https://example.com

# Повтор при ошибке
curl --retry 3 https://example.com

Cookies

# Отправка cookies
curl -b "session=abc123" https://example.com

# Сохранение cookies
curl -c cookies.txt https://example.com

# Загрузка cookies из файла
curl -b cookies.txt https://example.com

Прокси

# Использование HTTP-прокси
curl -x http://proxy.example.com:8080 https://api.example.com

# Прокси с авторизацией
curl -x http://proxy:8080 -U user:pass https://api.example.com

SSL / TLS

# Игнорировать SSL ошибки (не рекомендуется)
curl -k https://self-signed.example.com

# Указать версию TLS
curl --tlsv1.2 https://example.com

Обработка ответа

# Тихий режим
curl -s https://api.example.com

# Только HTTP-статус
curl -s -o /dev/null -w "%{http_code}" https://example.com

# Кастомный вывод
curl -w "\nTime: %{time_total}s\nStatus: %{http_code}\n" https://example.com

Работа с файлами

Загрузка

# Скачать файл
curl -O https://example.com/file.zip

# Скачать с другим именем
curl -o myfile.zip https://example.com/file.zip

# Докачка
curl -C - -O https://example.com/large-file.zip

Загрузка на сервер

# FTP-загрузка
curl -T file.txt ftp://ftp.example.com/upload/

# HTTP PUT загрузка
curl -T file.txt https://example.com/upload

Тестирование и отладка

# Проверка API
curl -X GET https://api.example.com/users

# Подробный режим
curl -v https://api.example.com

# Трассировка запроса
curl --trace-ascii trace.txt https://api.example.com

Полезные флаги

  • -X — HTTP-метод
  • -d — данные запроса
  • -H — заголовки
  • -o / -O — сохранение файла
  • -L — следование редиректам
  • -i / -I — заголовки ответа
  • -v — подробный вывод
  • -s — тихий режим
  • -u — авторизация

Советы

  • Используйте -s в скриптах для отключения прогресс-бара
  • Комбинируйте -sS, чтобы видеть ошибки
  • Добавляйте -v при отладке
  • Используйте jq для обработки JSON
  • Сохраняйте частые команды в алиасы

Файл из источника

10893_curl-http-1.0.0.zip