Ecosistema open source para el desarrollo de APIs que permite enviar solicitudes REST, GraphQL, WebSocket, SSE, Socket.IO y MQTT desde aplicaciones web, de escritorio y CLI.
Orange-OpenSource/hurl
Hurl es una herramienta de línea de comandos para ejecutar y probar solicitudes HTTP escritas en archivos de texto plano.
Alternativa open source a:Postman
- Estrellas
- 19,266
- Forks
- 750
- Issues abiertos
- 202
- Último commit
- hace 19 horas
¿Qué es?
Hurl es una herramienta de línea de comandos para ejecutar solicitudes HTTP descritas en un formato sencillo de texto plano. Las solicitudes se pueden encadenar, se pueden capturar valores de las respuestas y reutilizarlos en solicitudes posteriores, y se pueden comprobar las respuestas con aserciones basadas en XPath, JSONPath y otras consultas sobre encabezados y cuerpos.
Además de obtener datos, Hurl se usa para probar sesiones HTTP. Permite definir aserciones sobre códigos de estado, encabezados, cookies, hashes SHA-256, propiedades de certificados SSL, redirecciones y duración de las respuestas. También puede generar informes en formatos de texto, JUnit, TAP, JSON y HTML para pipelines de CI/CD. Es compatible con API REST, SOAP, GraphQL, HTML y XML/JSON.
Hurl está escrito en Rust y usa libcurl como motor HTTP, por lo que permite usar opciones de curl como --resolve, --connect-to y --proxy. Se distribuye como un único binario que no requiere un entorno de ejecución y puede exportar solicitudes como comandos de curl.
Funciones clave
- 01Archivos de solicitudes en texto plano que permiten encadenar varias solicitudes HTTP.
- 02Captura valores de las respuestas y los reutiliza en solicitudes posteriores.
- 03Aserciones con XPath, JSONPath, expresiones regulares y otros predicados sobre encabezados y cuerpos.
- 04Compatible con API REST, SOAP, GraphQL, HTML y XML/JSON.
- 05Informes en formatos de texto, JUnit, TAP, JSON y HTML para pipelines de CI.
- 06Basado en libcurl, con compatibilidad con HTTP/2 y HTTP/3, además de opciones de curl.
Casos de uso
- Ejecutar pruebas de humo o de integración de API en pipelines de CI/CD.
- Automatizar flujos de inicio de sesión o CSRF de varios pasos en una aplicación web.
- Comprobar el estado de las respuestas, los encabezados y los campos JSON durante el desarrollo de API.
- Enviar solicitudes HTTP reproducibles, almacenadas como archivos de texto junto al proyecto.
Temas
Preguntas frecuentes
- ¿Qué es hurl?
- Hurl es una herramienta de línea de comandos para ejecutar y probar solicitudes HTTP escritas en archivos de texto plano. Hurl es una herramienta de línea de comandos para ejecutar solicitudes HTTP descritas en un formato sencillo de texto plano. Las solicitudes se pueden encadenar, se pueden capturar valores de las respuestas y reutilizarlos en solicitudes posteriores, y se pueden comprobar las respuestas con aserciones basadas en XPath, JSONPath y otras consultas sobre encabezados y cuerpos.
- ¿hurl es gratuito? ¿Qué licencia tiene?
- hurl es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿hurl sigue mantenido?
- Mantenimiento activo. El último commit de hurl fue el 21 oct 2026.
- ¿Para qué puedo usar hurl?
- Ejecutar pruebas de humo o de integración de API en pipelines de CI/CD. Automatizar flujos de inicio de sesión o CSRF de varios pasos en una aplicación web. Comprobar el estado de las respuestas, los encabezados y los campos JSON durante el desarrollo de API. Enviar solicitudes HTTP reproducibles, almacenadas como archivos de texto junto al proyecto.
- ¿Dónde consigo hurl?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/Orange-OpenSource/hurl
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un cliente HTTP de línea de comandos rápido y fácil de usar que reproduce gran parte de la sintaxis de HTTPie con un inicio más rápido.
Herramienta de código abierto para pruebas de API e integración que registra tráfico real con eBPF y lo reproduce como pruebas y mocks de datos, sin modificar el código.
Cliente de API de código abierto que guarda colecciones como archivos de texto sin formato en el sistema de archivos, una alternativa offline a Postman e Insomnia.
Cliente de API para terminal que guarda solicitudes HTTP, GraphQL, gRPC, WebSocket y SSE en archivos .http de texto plano que puedes versionar con git.
Cliente de API de escritorio para REST, GraphQL, WebSocket, SSE y gRPC, creado con Tauri, Rust y React, con enfoque offline-first y sin telemetría.