Uma biblioteca C++11 em um único header para criar servidores e clientes HTTP/HTTPS com I/O de socket bloqueante.
seanmonstar/reqwest
Um cliente HTTP ergonômico para Rust, com APIs assíncronas e bloqueantes, JSON, multipart, proxies, cookies e TLS com rustls.
- Estrelas
- 11,900
- Forks
- 1,438
- Issues abertas
- 487
- Último commit
- há 18 dias
O que é?
reqwest é uma biblioteca cliente HTTP para Rust. Ela oferece clientes assíncronos e bloqueantes, podendo ser usada tanto em programas assíncronos baseados em Tokio quanto em código síncrono simples. Os corpos das requisições podem ser bytes simples, JSON, formulários urlencoded ou uploads multipart, e as respostas podem ser decodificadas em valores tipados.
A biblioteca inclui uma política de redirecionamento configurável, suporte a proxy HTTP e um armazenamento de cookies. HTTPS usa rustls por padrão; o recurso native-tls troca isso pela pilha TLS do sistema operacional no Windows e no macOS, ou pelo OpenSSL no Linux, e também há uma opção para usar uma versão vendorizada do OpenSSL. O crate também pode ser compilado para WASM.
Recursos principais
- 01Clientes assíncronos e bloqueantes
- 02Corpos de requisição em JSON, urlencoded e multipart
- 03Política de redirecionamento configurável
- 04Suporte a proxy HTTP
- 05HTTPS com rustls ou TLS nativo do sistema
- 06Armazenamento de cookies e suporte a WASM
Casos de uso
- Chamar APIs REST ou JSON de um serviço ou CLI em Rust
- Fazer upload de arquivos com requisições de formulário multipart
- Fazer requisições HTTP síncronas em uma ferramenta pequena, sem um runtime assíncrono
Início rápido
- 1
Adicione reqwest com a feature json e tokio ao Cargo.toml
reqwest = { version = "0.13", features = ["json"] } - 2
Adicione tokio com o conjunto completo de features ao Cargo.toml
tokio = { version = "1", features = ["full"] } - 3
Escreva o código de exemplo do README em src/main.rs e execute-o
Antes de usar
- O Native TLS no Linux requer que o OpenSSL esteja instalado ou que a feature vendored esteja ativada.
Em coleções
Tópicos
Perguntas frequentes
- O que é reqwest?
- Um cliente HTTP ergonômico para Rust, com APIs assíncronas e bloqueantes, JSON, multipart, proxies, cookies e TLS com rustls. reqwest é uma biblioteca cliente HTTP para Rust. Ela oferece clientes assíncronos e bloqueantes, podendo ser usada tanto em programas assíncronos baseados em Tokio quanto em código síncrono simples. Os corpos das requisições podem ser bytes simples, JSON, formulários urlencoded ou uploads multipart, e as respostas podem ser decodificadas em valores tipados.
- reqwest é gratuito? Qual é a licença?
- reqwest é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- reqwest ainda é mantido?
- Manutenção ativa. O último commit de reqwest foi em 19 de out. de 2026.
- Para que posso usar reqwest?
- Chamar APIs REST ou JSON de um serviço ou CLI em Rust Fazer upload de arquivos com requisições de formulário multipart Fazer requisições HTTP síncronas em uma ferramenta pequena, sem um runtime assíncrono
- Como instalar reqwest?
- Adicione reqwest com a feature json e tokio ao Cargo.toml: reqwest = { version = "0.13", features = ["json"] } Adicione tokio com o conjunto completo de features ao Cargo.toml: tokio = { version = "1", features = ["full"] } Escreva o código de exemplo do README em src/main.rs e execute-o
- Onde consigo reqwest?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/seanmonstar/reqwest
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
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.
Hurl é uma ferramenta de linha de comando que executa e testa requisições HTTP descritas em arquivos de texto simples.
Cliente HTTP de terminal (TUI) que define e executa requisições REST a partir de coleções YAML com controle de versão.
Uma caixa de ferramentas para desktop voltada a desenvolvedores, com notas rápidas, formatação de JSON, requisições HTTP, codificação, criptografia, QR codes, cron e muito mais.
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.