37 dépôts
Libraries for performing synchronous and asynchronous HTTP requests, managing connection pools, and handling complex network interactions.
Distinct from Python Web Frameworks: Distinct from Python Web Frameworks: this is a client-side library for making requests, not a server-side framework for building web applications.
Explore 37 awesome GitHub repositories matching networking & communication · HTTP Client Libraries. Refine with filters or upvote what's useful.
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
Provides a human-readable Python library for performing synchronous HTTP requests and managing connection pools.
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
Provides a comprehensive library for sending and receiving HTTP requests with support for various methods and authentication.
Guzzle is a PHP HTTP client used for sending synchronous and asynchronous requests to web services. It serves as a concurrent HTTP request manager, an HTTP stream handler, and a middleware-based HTTP pipeline. The project is a PSR-7 compliant client, utilizing standardized PHP interfaces for requests, responses, and streams. The library differentiates itself through a customizable functional handler stack that allows for the interception and modification of the request and response lifecycle. It features an adapter-based transport system that enables swapping between network implementations,
Acts as a full-featured PHP HTTP client library for synchronous and asynchronous network interactions.
🌳 Tiny & elegant JavaScript HTTP client based on the Fetch API
An HTTP client library built on the Fetch API for making requests with retries, timeouts, and error handling.
This project is an asynchronous library for the Python programming language designed to facilitate the development of automated agents and interactive applications on the Discord platform. It provides a comprehensive framework for building event-driven software that manages real-time communication, server resources, and user interactions through a structured interface. The library utilizes a non-blocking event loop to handle concurrent network operations, allowing developers to maintain persistent bidirectional connections via WebSockets. It features a declarative system for routing text-base
A collection of tools for managing HTTP requests and WebSocket connections to interact with external service APIs programmatically.
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
A comprehensive toolkit for interacting with web services, handling complex authentication, and managing low-level transport configurations in Python.
🕷 Super-agent driven library for testing node.js HTTP servers using a fluent API. Maintained for @forwardemail, @ladjs, @spamscanner, @breejs, @cabinjs, and @lassjs.
Wraps the SuperAgent HTTP library to provide a unified interface for requests and responses.
Pinpoint is a distributed application performance management tool designed to trace requests and monitor metrics across large-scale distributed architectures. It functions as a request tracer, topology mapper, and JVM application monitor, providing a backend capable of collecting and visualizing trace data from OpenTelemetry compatible sources. The system distinguishes itself through a combination of bytecode-based instrumentation via a Java agent and topology-based visualization that renders live maps of service interconnections. It captures execution flow across asynchronous boundaries, suc
Tracks the performance and execution of network calls made via the Google HTTP Client library.
Dio is a cross-platform HTTP client for Dart designed to manage network requests and data communication across mobile and desktop applications. It provides a comprehensive framework for executing standard web operations while handling complex tasks such as request lifecycles, connection security, and global configuration. The library distinguishes itself through an extensible architecture that allows developers to hook into the request and response pipeline. By utilizing interceptors and custom network adapters, users can modify traffic, perform authentication, and swap underlying networking
Supports advanced HTTP operations including multipart file uploads, automatic data transformation, and request lifecycle management.
Resty is a high-level HTTP client library for Go designed for consuming REST services. It provides a streamlined interface for executing network requests, managing server-sent event streams, and automatically mapping JSON and XML responses into data structures. The library includes built-in mechanisms for service resilience and traffic management, such as circuit breakers to prevent cascading failures, token-bucket rate limiting, and automated request retries with exponential backoff. It also features client-side load balancing to distribute outgoing traffic across multiple base URLs and requ
Provides a high-level, streamlined interface for executing network requests to remote servers and processing responses.
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
Provides an asynchronous and blocking library for executing HTTP requests with connection pooling and TLS support.
httpx is a suite of tools and libraries for HTTP reconnaissance, infrastructure discovery, and DNS resolution. It functions as a command line toolkit for extracting metadata and status codes from HTTP targets and CIDR ranges, as well as a Go library for integrating these probing capabilities into custom programs. The project distinguishes itself through specialized infrastructure profiling, using TLS fingerprinting to extract JARM hashes and certificate details. It identifies underlying components such as CDN usage, Autonomous System Numbers, and CNAMEs to map web server software and infrastr
Ships as a Go package for integrating multi-purpose HTTP probing and metadata extraction into custom programs.
Feign est un client HTTP Java déclaratif qui automatise la génération de clients de services web. Il permet aux développeurs de définir des endpoints d'API REST en utilisant des interfaces et des annotations, supprimant le besoin d'écrire manuellement du code répétitif pour les requêtes et réponses. Le projet utilise des proxys dynamiques pour mapper les appels de méthode vers des modèles de requête HTTP. Il dispose d'un pipeline enfichable d'encodeurs et de décodeurs pour transformer les objets Java en corps de requête et convertir les corps de réponse en objets typés. La bibliothèque couvre un large éventail de capacités d'intégration, incluant l'interception de requêtes pour la gestion des en-têtes, une logique de réessai basée sur des stratégies pour une consommation résiliente des services, et l'expansion de modèles pour les URIs. Elle fournit également des outils pour enregistrer les logs de trafic HTTP et collecter des métriques de performance client.
Serves as a comprehensive Java library for performing synchronous and asynchronous HTTP requests.
node-fetch est une bibliothèque cliente HTTP légère qui implémente l'API Fetch standard des navigateurs pour Node.js. Elle fournit une interface basée sur les promesses pour effectuer des requêtes réseau asynchrones afin de récupérer ou d'envoyer des données depuis des environnements côté serveur. Le projet se spécialise dans la gestion efficace de la mémoire en utilisant le streaming de requêtes et de réponses. Cela permet le traitement incrémental de charges utiles réseau importantes via des flux système natifs pour éviter l'épuisement de la mémoire. La bibliothèque couvre un large éventail de capacités réseau, incluant l'utilisation d'agents HTTP personnalisés pour la configuration DNS et SSL, l'annulation de requêtes via des signaux d'abandon (abort signals), et la gestion de divers encodages de contenu et soumissions de formulaires.
A lightweight HTTP client library for sending requests and handling responses with streaming support.
node-fetch is a promise-based HTTP client library that provides a lightweight implementation of the Fetch API for the Node.js runtime. It serves as a network interface for performing asynchronous HTTP requests, handling server communication, and managing headers. The library utilizes a promise-based request lifecycle to wrap network calls, ensuring asynchronous behavior. It incorporates stream-based handling for both requests and responses to process large payloads efficiently without overloading system memory. Its capabilities cover a broad range of network communication tasks, including th
Serves as a comprehensive library for performing asynchronous HTTP requests and managing network headers.
BAML is a prompt engineering framework and LLM client generator that defines AI prompts as type-safe functions. It serves as a structured data extraction tool and workflow orchestrator, transforming unstructured model responses into strongly typed objects using a custom schema language and alignment algorithms. The project distinguishes itself by using a compiler to generate language-specific boilerplate code for API communication and output parsing. It features a dedicated environment for designing complex prompt templates with conditional logic and reusable snippets, and employs genetic alg
Rotates outgoing calls across multiple providers in sequence, including automatic switching during retries.
C++ est une bibliothèque cliente HTTP de haut niveau et un wrapper pour libcurl. Elle fournit une interface C++ pour effectuer des requêtes réseau, gérer des sessions réseau et implémenter des transferts de données. La bibliothèque se distingue en offrant un client HTTP asynchrone capable d'exécuter des requêtes non bloquantes via des interfaces de rappel (callbacks). Elle fonctionne également comme un téléverseur de formulaires multipart pour transmettre des fichiers et des données structurées, ainsi qu'un gestionnaire de flux SSE pour traiter les événements envoyés par le serveur en temps réel sur des connexions persistantes. Ses capacités plus larges couvrent la communication web sécurisée via le chiffrement SSL et l'authentification des requêtes. Elle inclut des outils pour la gestion de l'état de session via la persistance des cookies, le routage par proxy et le contrôle du timeout des requêtes. L'implémentation utilise la gestion des ressources RAII pour gérer le cycle de vie des handles réseau et des objets de session.
Implements a modern C++ interface for performing synchronous and asynchronous HTTP requests and managing sessions.
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
Provides a high-level C++ library for performing synchronous and asynchronous HTTP requests as a wrapper around libcurl.
Osmedeus is a security workflow orchestration engine that coordinates AI agents, shell commands, and scanning tools through declarative YAML pipelines. It functions as a distributed security scanner, a declarative workflow automator, and an AI agent framework for security, enabling automated multi-step security analysis with conditional branching, parallel execution, and distributed workers. The engine distinguishes itself through a hybrid runner model that executes workflow steps on the local host, inside Docker containers, or over SSH to remote machines, selected per step or module. It supp
Configures a list of LLM providers and automatically falls back to the next one if the primary is unavailable.
Ion is an asynchronous HTTP client library for Android that handles network requests, JSON parsing, image loading, and file downloads. It provides a fluent builder pattern for constructing requests and supports automatic JSON deserialization into Java objects using Gson, along with in-memory image caching and multipart form-data encoding. The library distinguishes itself through its support for request cancellation via Future objects, allowing individual or bulk cancellation of in-flight requests to avoid wasted bandwidth and stale callbacks. It also includes proxy-aware request routing for d
An asynchronous HTTP client for Android that supports request cancellation, JSON parsing, image loading, and file downloads with progress tracking.