Biblioteca de C++11 en un solo archivo de cabecera para crear servidores y clientes HTTP/HTTPS con E/S de sockets bloqueante.
seanmonstar/reqwest
Cliente HTTP ergonómico para Rust con APIs asíncrona y bloqueante, JSON, multipart, proxies, cookies y TLS con rustls.
- Estrellas
- 11,902
- Forks
- 1,439
- Issues abiertos
- 487
- Último commit
- hace 19 días
¿Qué es?
reqwest es una biblioteca cliente HTTP para Rust. Ofrece clientes asíncronos y bloqueantes, por lo que puede usarse en programas asíncronos basados en Tokio o en código síncrono sencillo. Los cuerpos de las solicitudes pueden ser bytes sin procesar, JSON, formularios urlencoded o cargas multipart, y las respuestas se pueden decodificar en valores tipados.
La biblioteca incluye una política de redirección configurable, compatibilidad con proxies HTTP y un almacén de cookies. HTTPS usa rustls de forma predeterminada; la feature native-tls cambia la pila TLS del sistema operativo en Windows y macOS, o a OpenSSL en Linux. También hay disponible una opción para compilar OpenSSL de forma integrada. La crate también se puede compilar para WASM.
Funciones clave
- 01Clientes asíncronos y bloqueantes
- 02Cuerpos de solicitud JSON, urlencoded y multipart
- 03Política de redirección configurable
- 04Compatibilidad con proxies HTTP
- 05HTTPS mediante rustls o TLS nativo del sistema
- 06Almacén de cookies y compatibilidad con WASM
Casos de uso
- Llamar a APIs REST o JSON desde un servicio o una CLI de Rust
- Subir archivos mediante solicitudes de formularios multipart
- Realizar solicitudes HTTP síncronas desde una herramienta pequeña sin un runtime asíncrono
Inicio rápido
- 1
Añade reqwest con la feature json y tokio a Cargo.toml
reqwest = { version = "0.13", features = ["json"] } - 2
Añade tokio con el conjunto completo de features a Cargo.toml
tokio = { version = "1", features = ["full"] } - 3
Escribe el código de ejemplo del README en src/main.rs y ejecútalo
Antes de usarlo
- Native TLS en Linux requiere tener OpenSSL instalado o activar la feature vendored.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es reqwest?
- Cliente HTTP ergonómico para Rust con APIs asíncrona y bloqueante, JSON, multipart, proxies, cookies y TLS con rustls. reqwest es una biblioteca cliente HTTP para Rust. Ofrece clientes asíncronos y bloqueantes, por lo que puede usarse en programas asíncronos basados en Tokio o en código síncrono sencillo. Los cuerpos de las solicitudes pueden ser bytes sin procesar, JSON, formularios urlencoded o cargas multipart, y las respuestas se pueden decodificar en valores tipados.
- ¿reqwest es gratuito? ¿Qué licencia tiene?
- reqwest es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿reqwest sigue mantenido?
- Mantenimiento activo. El último commit de reqwest fue el 19 oct 2026.
- ¿Para qué puedo usar reqwest?
- Llamar a APIs REST o JSON desde un servicio o una CLI de Rust Subir archivos mediante solicitudes de formularios multipart Realizar solicitudes HTTP síncronas desde una herramienta pequeña sin un runtime asíncrono
- ¿Cómo se instala reqwest?
- Añade reqwest con la feature json y tokio a Cargo.toml: reqwest = { version = "0.13", features = ["json"] } Añade tokio con el conjunto completo de features a Cargo.toml: tokio = { version = "1", features = ["full"] } Escribe el código de ejemplo del README en src/main.rs y ejecútalo
- ¿Dónde consigo reqwest?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/seanmonstar/reqwest
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
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.
Hurl es una herramienta de línea de comandos para ejecutar y probar solicitudes HTTP escritas en archivos de texto plano.
Cliente HTTP de terminal (TUI) que define y ejecuta solicitudes REST a partir de colecciones YAML con control de versiones.
Una caja de herramientas de escritorio para desarrolladores que reúne notas rápidas, formato JSON, solicitudes HTTP, codificación, criptografía, códigos QR, cron y más.
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.