awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
whoshuu avatar

whoshuu/cpr

0
View on GitHub↗
7,362 stars·1,030 forks·C++·7 viewsdocs.libcpr.dev↗

Cpr

cpr is a C++ networking library that provides a high-level HTTP request client. It functions as a wrapper around libcurl to simplify the process of sending and receiving data from web servers, specifically managing GET and POST calls and multipart form uploads.

The library provides both synchronous and asynchronous execution models, allowing network requests to run on background threads to prevent application freezing. It integrates with the C++ Standard Library to map low-level pointers to standard strings and containers, utilizing RAII for automatic resource management.

The project covers a broad range of networking capabilities, including REST API integration, secure data transmission via HTTPS encryption, and network request authentication. Additional traffic management features include proxy request routing and request timeout configuration, while data handling is supported through callback-based streaming and the processing of server-sent events.

Features

  • C++ Networking Libraries - Provides a high-level C++ networking library for simplified HTTP communication.
  • HTTP Client Libraries - Provides a high-level C++ library for performing synchronous and asynchronous HTTP requests as a wrapper around libcurl.
  • REST API Clients - Connects C++ applications to remote services by managing HTTP methods, headers, and data exchange.
  • Asynchronous Future APIs - Uses asynchronous future handles to track and retrieve results from background network operations.
  • Asynchronous HTTP Clients - Acts as an asynchronous HTTP client that runs requests in the background to maintain UI responsiveness.
  • Asynchronous Networking - Implements asynchronous networking to prevent the main application thread from freezing.
  • libcurl Wrappers - Wraps libcurl to handle the complexity of HTTP protocols and socket management.
  • HTTP Client Integrations - Implements a streamlined interface for executing standard HTTP GET and POST methods.
  • HTTP Request Dispatchers - Provides a simplified interface for dispatching data to remote servers and managing network connections.
  • Asynchronous Request Execution - Provides non-blocking network request execution to keep applications responsive during data transfers.
  • Security & HTTPS - Supports secure data transmission and encrypted network traffic using HTTPS protocols.
  • Synchronous API Wrappers - Provides a blocking high-level API that simplifies network calls by waiting for the response.
  • HTTP Request Clients - Provides a streamlined HTTP request client for executing GET and POST calls and managing headers.
  • Multipart Upload Utilities - Implements a utility for sending files and form fields to remote servers using multipart HTTP requests.
  • Callback-Based Data Streaming - Utilizes function pointers to process incoming server data chunks in real time.
  • Request Header Configuration - Allows the configuration of custom HTTP request headers and URL parameters to control server behavior.
  • RAII Patterns - Employs RAII patterns to automatically manage the lifecycle of network handles and session pointers.
  • Standard Template Library Integrations - Integrates with the C++ Standard Template Library to map low-level C strings to standard containers.
  • Client-Side Request Authentication - Provides mechanisms to verify identity for network calls using standard security schemes.
  • Network Transmission Security - Ensures secure data transmission via HTTPS encryption and network request authentication.
  • Networking Libraries - Modern HTTP requests library with a simple interface.
  • Web and Networking - C++ port of the Python Requests library.

Star history

Star history chart for whoshuu/cprStar history chart for whoshuu/cpr

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does whoshuu/cpr do?

cpr is a C++ networking library that provides a high-level HTTP request client. It functions as a wrapper around libcurl to simplify the process of sending and receiving data from web servers, specifically managing GET and POST calls and multipart form uploads.

What are the main features of whoshuu/cpr?

The main features of whoshuu/cpr are: C++ Networking Libraries, HTTP Client Libraries, REST API Clients, Asynchronous Future APIs, Asynchronous HTTP Clients, Asynchronous Networking, libcurl Wrappers, HTTP Client Integrations.

What are some open-source alternatives to whoshuu/cpr?

Open-source alternatives to whoshuu/cpr include: libcpr/cpr — C++ is a high-level HTTP client library and wrapper for libcurl. It provides a C++ interface for making network… encode/httpx — This project is a comprehensive Python network request framework designed for both synchronous and asynchronous HTTP… request/request — This is an HTTP client library used for sending and receiving network requests. It functions as an HTTP traffic… yhirose/cpp-httplib — This is a header-only C++ library that provides implementations for HTTP clients, HTTP servers, and a WebSocket… typhoeus/typhoeus — Typhoeus is a Ruby wrapper for libcurl that functions as a session-based HTTP client. It provides an interface for… microsoft/cpprestsdk — The C++ REST SDK is a library for asynchronous HTTP and RESTful communication in native C++ applications. It provides…

Open-source alternatives to Cpr

Similar open-source projects, ranked by how many features they share with Cpr.
  • libcpr/cprlibcpr avatar

    libcpr/cpr

    7,367View on GitHub↗

    C++ is a high-level HTTP client library and wrapper for libcurl. It provides a C++ interface for making network requests, managing network sessions, and implementing data transfers. The library distinguishes itself by offering an asynchronous HTTP client capable of executing non-blocking requests via callback interfaces. It also functions as a multipart form uploader for transmitting files and structured data, as well as an SSE stream handler for processing real-time server-sent events over persistent connections. Its broader capabilities cover secure web communication through SSL encryption

    C++
    View on GitHub↗7,367
  • encode/httpxencode avatar

    encode/httpx

    15,090View on GitHub↗

    This project is a comprehensive Python network request framework designed for both synchronous and asynchronous HTTP communication. It provides a high-performance client capable of executing non-blocking requests within event-driven applications, while also supporting standard blocking calls for simpler scripts. The library is built to operate natively across diverse asynchronous runtimes, automatically detecting and utilizing the underlying event loop for concurrency. What distinguishes this library is its modular architecture, which decouples request construction from network execution thro

    Pythonasynciohttppython
    View on GitHub↗15,090
  • request/requestrequest avatar

    request/request

    25,542View on GitHub↗

    This is an HTTP client library used for sending and receiving network requests. It functions as an HTTP traffic replicator, a multipart form uploader, and an OAuth request signer, while also serving as an HTTP client capable of routing traffic through Unix domain sockets for local inter-process communication. The project distinguishes itself with the ability to import and parse HTTP Archive JSON files to reproduce recorded network traffic. It also provides cryptographic OAuth signing to secure API access using hashing algorithms and supports routing requests through Unix domain sockets using

    JavaScript
    View on GitHub↗25,542
  • yhirose/cpp-httplibyhirose avatar

    yhirose/cpp-httplib

    16,597View on GitHub↗

    This is a header-only C++ library that provides implementations for HTTP clients, HTTP servers, and a WebSocket framework. It allows for the creation of network services and the consumption of remote APIs without requiring a separate compilation step or external binary linking. The project features backend-agnostic TLS integration for secure HTTPS and WSS communication and employs a thread-pool model to process concurrent requests. It distinguishes itself with a full-duplex WebSocket state-machine and a middleware-based request pipeline that supports regular-expression path routing. The libr

    C++
    View on GitHub↗16,597
  • See all 30 alternatives to Cpr→