C++ Requests is a wrapper library around libcurl that simplifies HTTP requests in C++.
The library addresses the complexity of libcurl's easy interface by providing a cleaner, more expressive API inspired by Python's Requests library. It leverages C++17 features to distill network operations into clear and concise idioms, reducing the boilerplate and potential for errors that often accompany direct libcurl usage. The wrapper handles dependency management automatically, so users do not need to manage libcurl themselves.
The tool suits C++ projects that need straightforward HTTP functionality without wrestling with libcurl's lower-level interface. It supports a comprehensive range of HTTP operations including GET, POST, PUT, DELETE, HEAD, OPTIONS, and PATCH methods, along with features like custom headers, URL-encoded parameters, multipart form uploads, multiple authentication schemes, timeouts, asynchronous requests, cookies, proxies, and Server Sent Events handling. Integration is straightforward through CMake's fetch_content mechanism, which handles all dependencies automatically, or through traditional find_package if the system libcurl is preferred. The library supports both static and shared builds and works with OpenSSL and WinSSL for HTTPS.
Development activity shows consistent maintenance with active issue tracking and milestone planning. The project maintains clear documentation and provides example projects demonstrating integration patterns. A community chat channel is available for discussion and quick help. The codebase is organized around CMake-based building and testing infrastructure, with a test suite that can be executed through standard commands.