Repolode
yhirose

yhirose/cpp-httplib

Uma biblioteca C++11 em um único header para criar servidores e clientes HTTP/HTTPS com I/O de socket bloqueante.

Estrelas
16,923
Forks
2,777
Issues abertas
0
Último commit
há 17 horas

O que é?

cpp-httplib é uma biblioteca multiplataforma C++11 que oferece um servidor e um cliente HTTP/HTTPS. Ela vem em um único arquivo de header, httplib.h, então basta incluir esse arquivo no projeto. A biblioteca usa I/O de socket bloqueante e oferece suporte apenas a HTTP/1.1; HTTP/2 e HTTP/3 não são implementados.

A biblioteca oferece roteamento com parâmetros de caminho e expressões regulares, serviço de arquivos estáticos com mapeamento MIME, formulários multipart e upload de arquivos, transferência em blocos e provedores de conteúdo em streaming, conexões keep-alive e hooks no estilo middleware, como handlers pré e pós-roteamento e de exceções. Server-Sent Events e WebSocket são documentados como recursos adicionais.

O TLS está disponível via OpenSSL (3.0 ou posterior), Mbed TLS ou wolfSSL, selecionados por uma define de compilação. A biblioteca também inclui controles de verificação de certificados, TLS mútuo e integração com o repositório de certificados do sistema no macOS e no Windows.

Recursos principais

  • 01Inclusão de um único header, sem dependências de build para uso básico de HTTP
  • 02Servidor e cliente HTTP em uma única biblioteca
  • 03HTTPS via OpenSSL, Mbed TLS ou wolfSSL
  • 04Roteamento com parâmetros de caminho e expressões regulares
  • 05Serviço de arquivos estáticos, uploads multipart e respostas em blocos ou por streaming
  • 06TLS mútuo e controles de verificação de certificados

Casos de uso

  • Adicionar um endpoint HTTP embarcado e leve a uma aplicação C++ sem trazer um framework grande
  • Criar um cliente C++ que consome APIs REST via HTTPS
  • Servir arquivos estáticos ou APIs web simples a partir de uma ferramenta em C++
  • Prototipar um serviço HTTP local em um projeto C++ com configuração mínima

Início rápido

  1. 1

    Baixe o arquivo httplib.h do repositório

  2. 2

    Inclua httplib.h no seu código C++ e compile um servidor ou cliente como mostrado nos exemplos

Antes de usar

  • Usa E/S de soquete bloqueante, portanto não é adequado para projetos não bloqueantes.
  • Suporta apenas HTTP/1.1; HTTP/2 e HTTP/3 não estão implementados.
  • Plataformas de 32 bits não são suportadas e não passam por revisão de segurança.

Tópicos

Perguntas frequentes

O que é cpp-httplib?
Uma biblioteca C++11 em um único header para criar servidores e clientes HTTP/HTTPS com I/O de socket bloqueante. cpp-httplib é uma biblioteca multiplataforma C++11 que oferece um servidor e um cliente HTTP/HTTPS. Ela vem em um único arquivo de header, httplib.h, então basta incluir esse arquivo no projeto. A biblioteca usa I/O de socket bloqueante e oferece suporte apenas a HTTP/1.1; HTTP/2 e HTTP/3 não são implementados.
cpp-httplib é gratuito? Qual é a licença?
cpp-httplib é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
cpp-httplib ainda é mantido?
Manutenção ativa. O último commit de cpp-httplib foi em 22 de out. de 2026.
Para que posso usar cpp-httplib?
Adicionar um endpoint HTTP embarcado e leve a uma aplicação C++ sem trazer um framework grande Criar um cliente C++ que consome APIs REST via HTTPS Servir arquivos estáticos ou APIs web simples a partir de uma ferramenta em C++ Prototipar um serviço HTTP local em um projeto C++ com configuração mínima
Como instalar cpp-httplib?
Baixe o arquivo httplib.h do repositório Inclua httplib.h no seu código C++ e compile um servidor ou cliente como mostrado nos exemplos
Onde consigo cpp-httplib?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/yhirose/cpp-httplib

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados