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
libcpr avatar

libcpr/cpr

0
View on GitHub↗
7,367 stars·1,032 forks·C++·21 viewsdocs.libcpr.dev↗

Cpr

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 and request authentication. It includes tools for session state management via cookie persistence, proxy routing, and request timeout control.

The implementation utilizes RAII resource management to handle the lifecycle of network handles and session objects.

Features

  • HTTP Client Libraries - Implements a modern C++ interface for performing synchronous and asynchronous HTTP requests and managing sessions.
  • HTTP Method Executions - Enables sending network requests using standard HTTP methods like GET, POST, PUT, DELETE, and PATCH.
  • Asynchronous HTTP Clients - Provides a non-blocking HTTP client capable of executing requests in the background via callbacks.
  • C++ Networking Libraries - Provides a simplified C++ networking library for making HTTP requests and interacting with web services.
  • libcurl Wrappers - Wraps the low-level C API of libcurl to provide a high-level C++ interface for HTTP transport.
  • Secure Communication Protocols - Establishes encrypted connections and manages authentication to protect data in transit via SSL.
  • Session Management - Maintains state, cookies, and authentication across multiple network requests to handle user sessions.
  • Session State Management - Maintains synchronization and session state between clients and servers using persistent cookie tracking.
  • Asynchronous Request Execution - Provides non-blocking network request execution using asynchronous patterns to prevent main thread blocking.
  • HTTP Cookie Persistence - Stores and retrieves HTTP cookies from local files to maintain session state across separate request executions.
  • Asynchronous Network Callbacks - Executes network requests in background threads and notifies the caller via user-defined callback functions.
  • API Request Configurations - Provides utilities for configuring request metadata, including custom headers, timeout limits, and proxy settings.
  • Asynchronous API Clients - Handles background network operations and data parsing to keep applications responsive.
  • Multipart File Uploads - Supports uploading files and multipart data to servers with integrated progress tracking.
  • Multipart Form Uploaders - Enables the construction and transmission of HTTP multipart/form-data requests for uploading files.
  • Multipart Form Uploads - Implements transmission of binary data and files using the HTTP multipart/form-data encoding standard.
  • Real-time Event Streams - Implements server-sent events and push notification mechanisms for receiving real-time data updates.
  • Request Header Configuration - Provides comprehensive tools for defining and managing custom HTTP request headers.
  • Server-Sent Events - Processes real-time streaming data received from servers via persistent Server-Sent Event connections.
  • SSE Consumers - Implements a client for processing real-time server-sent event streams over persistent HTTP connections.
  • RAII Resource Management - Uses RAII to automatically manage the lifecycle of network handles and session objects, preventing resource leaks.
  • HTTP Header and Parameter Management - Allows attaching custom headers and encoding parameters into URL-encoded formats for server communication.
  • DevOps & Infrastructure - C++ requests library

Star history

Star history chart for libcpr/cprStar history chart for libcpr/cpr

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

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

Open-source alternatives to Cpr

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

    whoshuu/cpr

    7,362View on GitHub↗

    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

    C++
    View on GitHub↗7,362
  • requests/requestsrequests avatar

    requests/requests

    54,070View on GitHub↗

    Requests is a Python HTTP client library used for sending HTTP requests and handling responses. It serves as a network client providing fundamental components for session management, proxy routing, multi-part uploading, and SSL/TLS certificate verification. The project distinguishes itself through a session manager that maintains cookies and reuses TCP connections to improve network performance. It also includes a dedicated multi-part form uploader for transmitting binary data and an integrated SSL/TLS certificate verifier to ensure encrypted and trusted communication. The library covers a b

    Python
    View on GitHub↗54,070
  • servicestack/servicestackServiceStack avatar

    ServiceStack/ServiceStack

    5,498View on GitHub↗

    ServiceStack is a high-performance .NET web framework designed for building type-safe APIs using strongly-typed request and response objects. It functions as a message-based API engine that decouples business logic from the transport layer, allowing services to be exposed via multiple protocols including HTTP, gRPC, and various message queue providers. The framework is distinguished by its type-safe API generator, which produces native client SDKs and data transfer objects from service metadata across multiple languages. It also includes a distributed service gateway for microservices orchest

    C#c-sharpcsvframework
    View on GitHub↗5,498
  • typhoeus/typhoeustyphoeus avatar

    typhoeus/typhoeus

    4,130View on GitHub↗

    Typhoeus is a Ruby wrapper for libcurl that functions as a session-based HTTP client. It provides an interface for making both synchronous and asynchronous network requests. The project acts as a parallel request manager, using a managed queue to execute multiple network requests concurrently. It further distinguishes itself as a mocking tool for stubbing requests with predefined responses and as a caching layer that stores responses to avoid redundant network calls. The library covers a broad range of capabilities including session cookie management, response body streaming for large files,

    Ruby
    View on GitHub↗4,130
See all 30 alternatives to Cpr→

Frequently asked questions

What does libcpr/cpr do?

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.

What are the main features of libcpr/cpr?

The main features of libcpr/cpr are: HTTP Client Libraries, HTTP Method Executions, Asynchronous HTTP Clients, C++ Networking Libraries, libcurl Wrappers, Secure Communication Protocols, Session Management, Session State Management.

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

Open-source alternatives to libcpr/cpr include: whoshuu/cpr — cpr is a C++ networking library that provides a high-level HTTP request client. It functions as a wrapper around… requests/requests — Requests is a Python HTTP client library used for sending HTTP requests and handling responses. It serves as a network… servicestack/servicestack — ServiceStack is a high-performance .NET web framework designed for building type-safe APIs using strongly-typed… typhoeus/typhoeus — Typhoeus is a Ruby wrapper for libcurl that functions as a session-based HTTP client. It provides an interface for… jnunemaker/httparty — HTTParty is a Ruby HTTP client library designed for building standardized API clients. It abstracts low-level network… loopj/android-async-http — This is an asynchronous HTTP client for Android that simplifies network requests by wrapping Apache HttpClient. It…