Ecossistema open source para desenvolvimento de APIs, com envio de requisições REST, GraphQL, WebSocket, SSE, Socket.IO e MQTT em apps web, desktop e CLI.
Orange-OpenSource/hurl
Hurl é uma ferramenta de linha de comando que executa e testa requisições HTTP descritas em arquivos de texto simples.
Alternativa open source a:Postman
- Estrelas
- 19,266
- Forks
- 750
- Issues abertas
- 202
- Último commit
- há 19 horas
O que é?
Hurl é uma ferramenta de linha de comando para executar requisições HTTP descritas em um formato simples de texto puro. As requisições podem ser encadeadas, valores podem ser capturados das respostas e reutilizados em requisições posteriores, e as respostas podem ser verificadas com assertions usando XPath, JSONPath e outras consultas em headers e corpos.
Além de buscar dados, Hurl é usado para testar sessões HTTP. Ele oferece assertions para códigos de status, headers, cookies, hashes SHA-256, propriedades de certificados SSL, redirecionamentos e duração das respostas. Também pode gerar relatórios em texto, JUnit, TAP, JSON e HTML para pipelines de CI/CD. Funciona com APIs REST, SOAP, GraphQL, HTML e XML/JSON.
Hurl é escrito em Rust e usa libcurl como mecanismo HTTP, disponibilizando opções do curl como --resolve, --connect-to e --proxy. É distribuído como um único binário, sem necessidade de runtime, e pode exportar requisições como comandos curl.
Recursos principais
- 01Arquivos de requisições em texto puro que permitem encadear várias requisições HTTP.
- 02Captura valores das respostas e os reutiliza em requisições posteriores.
- 03Assertions com XPath, JSONPath, regex e outros predicados em headers e corpos.
- 04Compatível com APIs REST, SOAP, GraphQL, HTML e XML/JSON.
- 05Relatórios nos formatos texto, JUnit, TAP, JSON e HTML para pipelines de CI.
- 06Baseado em libcurl, com suporte a HTTP/2 e HTTP/3 e às opções do curl.
Casos de uso
- Executar testes smoke ou de integração de APIs em pipelines de CI/CD.
- Automatizar fluxos de login em várias etapas ou fluxos CSRF em uma aplicação web.
- Verificar o status da resposta, os headers e os campos JSON durante o desenvolvimento de APIs.
- Enviar requisições HTTP reproduzíveis, armazenadas como arquivos de texto junto ao projeto.
Tópicos
Perguntas frequentes
- O que é hurl?
- Hurl é uma ferramenta de linha de comando que executa e testa requisições HTTP descritas em arquivos de texto simples. Hurl é uma ferramenta de linha de comando para executar requisições HTTP descritas em um formato simples de texto puro. As requisições podem ser encadeadas, valores podem ser capturados das respostas e reutilizados em requisições posteriores, e as respostas podem ser verificadas com assertions usando XPath, JSONPath e outras consultas em headers e corpos.
- hurl é gratuito? Qual é a licença?
- hurl é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- hurl ainda é mantido?
- Manutenção ativa. O último commit de hurl foi em 21 de out. de 2026.
- Para que posso usar hurl?
- Executar testes smoke ou de integração de APIs em pipelines de CI/CD. Automatizar fluxos de login em várias etapas ou fluxos CSRF em uma aplicação web. Verificar o status da resposta, os headers e os campos JSON durante o desenvolvimento de APIs. Enviar requisições HTTP reproduzíveis, armazenadas como arquivos de texto junto ao projeto.
- Onde consigo hurl?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Orange-OpenSource/hurl
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um cliente HTTP de linha de comando rápido e fácil de usar, que reimplementa boa parte da sintaxe do HTTPie com inicialização mais rápida.
Ferramenta open source de testes de API e integração que registra tráfego real via eBPF e o reproduz como testes e mocks de dados, sem alterações no código.
Cliente de API open source que armazena coleções como arquivos de texto simples no sistema de arquivos, uma alternativa offline ao Postman e ao Insomnia.
Cliente de API no terminal que armazena requisições HTTP, GraphQL, gRPC, WebSocket e SSE em arquivos .http simples, que você pode versionar no git.
Cliente de API para desktop com suporte a REST, GraphQL, WebSocket, SSE e gRPC, feito com Tauri, Rust e React, offline-first e sem telemetria.