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.
The main features of encode/httpx are: HTTP Client Libraries, HTTP Clients, RESTful API Clients, Asynchronous Request Execution, Request Timeout Configurations, Asynchronous Networking, Middleware-Based Request Pipelines, Connection Pooling.
Open-source alternatives to encode/httpx include: square/okhttp — OkHttp is an HTTP client for the JVM and Android that enables network communication via synchronous and asynchronous… seanmonstar/reqwest — This library is a high-level networking tool for the Rust programming language, designed to execute HTTP requests and… hyperium/hyper — Hyper is a low-level networking library designed for building high-performance HTTP clients and servers. It provides a… yhirose/cpp-httplib — This is a header-only C++ library that provides implementations for HTTP clients, HTTP servers, and a WebSocket… psf/requests — Requests is a high-level HTTP client library designed to simplify web communication and API integration. It provides… sindresorhus/got — Got is a promise-based HTTP request library for Node.js that supports HTTP/2 and streaming. It provides a system for…
OkHttp is an HTTP client for the JVM and Android that enables network communication via synchronous and asynchronous requests. It provides a core identity as a comprehensive networking toolkit featuring a WebSocket client for bidirectional data synchronization, a TLS security toolkit for encrypted communication, and a programmable HTTP mock server for simulating backend responses. The project distinguishes itself through a specialized security and performance architecture. It implements mutual TLS, certificate pinning, and DNS over HTTPS to secure data in transit, while utilizing connection p
This library is a high-level networking tool for the Rust programming language, designed to execute HTTP requests and interact with remote services and REST APIs. It provides both asynchronous and blocking interfaces, allowing developers to send data using formats such as JSON or multipart forms while maintaining type-safe communication with external web services. The library distinguishes itself through a comprehensive architecture that manages network sessions and data flow. It utilizes connection pooling to maintain persistent sockets, which reduces latency during consecutive requests to t
Hyper is a low-level networking library designed for building high-performance HTTP clients and servers. It provides a foundational toolkit for creating network services that leverage asynchronous execution and memory-safe data handling, supporting both HTTP/1 and HTTP/2 protocols. The library distinguishes itself through a protocol-agnostic architecture that separates transport logic from HTTP semantics. It utilizes a service-trait abstraction to decouple network logic from the underlying transport, enabling developers to inject custom middleware for request interception and response transfo
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