Открытая экосистема для разработки API: отправка REST-, GraphQL-, WebSocket-, SSE-, Socket.IO- и MQTT-запросов через веб-приложение, десктопные приложения и CLI.
Orange-OpenSource/hurl
Hurl — CLI-инструмент для выполнения и тестирования HTTP-запросов, записанных в текстовом файле.
Open source альтернатива:Postman
- Звёзды
- 19,266
- Форки
- 750
- Открытые issues
- 202
- Последний коммит
- 21 час назад
Что это?
Hurl — CLI-инструмент для выполнения HTTP-запросов, описанных в простом текстовом формате. Запросы можно объединять в цепочки, извлекать значения из ответов и использовать их в последующих запросах, а также проверять ответы с помощью утверждений на основе XPath, JSONPath и других запросов к заголовкам и телам.
Hurl подходит не только для получения данных, но и для тестирования HTTP-сессий. Он позволяет проверять коды состояния, заголовки, cookies, хеши SHA-256, свойства SSL-сертификатов, перенаправления и длительность ответа. Для CI/CD-пайплайнов можно создавать отчёты в форматах text, JUnit, TAP, JSON и HTML. Инструмент работает с REST, SOAP, GraphQL, HTML- и XML/JSON API.
Hurl написан на Rust и использует libcurl в качестве HTTP-движка, поэтому доступны такие параметры curl, как --resolve, --connect-to и --proxy. Hurl поставляется в виде единого бинарного файла, не требует runtime и умеет экспортировать запросы в виде команд curl.
Ключевые возможности
- 01Текстовые файлы с запросами, в которых можно объединять несколько HTTP-запросов в цепочки.
- 02Извлечение значений из ответов и повторное использование в последующих запросах.
- 03Проверки заголовков и тел с помощью XPath, JSONPath, regex и других предикатов.
- 04Поддержка REST, SOAP, GraphQL, HTML- и XML/JSON API.
- 05Отчёты в форматах text, JUnit, TAP, JSON и HTML для CI-пайплайнов.
- 06Работа на базе libcurl с поддержкой HTTP/2, HTTP/3 и параметров curl.
Сценарии использования
- Запуск smoke- и интеграционных тестов API в CI/CD-пайплайнах.
- Автоматизация многоэтапной авторизации или CSRF-сценариев для веб-приложения.
- Проверка кодов состояния, заголовков и полей JSON при разработке API.
- Отправка повторяемых HTTP-запросов, сохранённых в текстовых файлах рядом с проектом.
Быстрый старт
- 1
Установите Hurl одним из способов, описанных в разделе Installation файла README
- 2
Создайте файл sample.hurl с запросом
vi sample.hurl - 3
Запустите файл sample.hurl с помощью Hurl
hurl sample.hurl
Темы
Частые вопросы
- Что такое hurl?
- Hurl — CLI-инструмент для выполнения и тестирования HTTP-запросов, записанных в текстовом файле. Hurl — CLI-инструмент для выполнения HTTP-запросов, описанных в простом текстовом формате. Запросы можно объединять в цепочки, извлекать значения из ответов и использовать их в последующих запросах, а также проверять ответы с помощью утверждений на основе XPath, JSONPath и других запросов к заголовкам и телам.
- hurl можно использовать бесплатно? Какая у него лицензия?
- hurl распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- hurl всё ещё поддерживается?
- Активно поддерживается. Последний коммит в hurl — 21 окт. 2026 г..
- Для чего можно использовать hurl?
- Запуск smoke- и интеграционных тестов API в CI/CD-пайплайнах. Автоматизация многоэтапной авторизации или CSRF-сценариев для веб-приложения. Проверка кодов состояния, заголовков и полей JSON при разработке API. Отправка повторяемых HTTP-запросов, сохранённых в текстовых файлах рядом с проектом.
- Как установить hurl?
- Установите Hurl одним из способов, описанных в разделе Installation файла README Создайте файл sample.hurl с запросом: vi sample.hurl Запустите файл sample.hurl с помощью Hurl: hurl sample.hurl
- Где скачать hurl?
- Исходный код и инструкции по установке — на GitHub: https://github.com/Orange-OpenSource/hurl
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Удобный и быстрый HTTP-клиент для командной строки: поддерживает большую часть синтаксиса HTTPie и запускается быстрее.
Open-source инструмент для API- и интеграционного тестирования: записывает реальный трафик через eBPF и воспроизводит его в виде тестов и моков данных без изменений кода.
Open-source API-клиент, который хранит коллекции в виде текстовых файлов на диске — офлайн-альтернатива Postman и Insomnia.
Терминальный API-клиент, который хранит запросы HTTP, GraphQL, gRPC, WebSocket и SSE в обычных .http-файлах, пригодных для версионирования в git.
Настольный API-клиент для REST, GraphQL, WebSocket, SSE и gRPC на базе Tauri, Rust и React; работает офлайн и не собирает телеметрию.