awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
typhoeus avatar

typhoeus/typhoeus

0
View on GitHub↗
4,130 estrellas·442 forks·Ruby·mit·6 vistasrubydoc.info/github/typhoeus/typhoeus↗

Typhoeus

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, and proxy server routing. It also includes security features such as basic authentication and SSL configuration, alongside traffic management tools for request timeouts and verbose debug logging.

Features

  • libcurl Wrappers - Provides a Ruby wrapper around the libcurl C library for making synchronous and asynchronous HTTP requests.
  • HTTP Request Clients - Provides a session-based HTTP client for executing synchronous and asynchronous network requests.
  • Asynchronous HTTP Clients - Sends non-blocking network requests to remote web services to keep the application responsive.
  • C-Library Bindings - Functions as a Ruby wrapper for the C-based libcurl library to handle low-level socket and protocol management.
  • Client Session Persistence - Maintains client-level state and session cookies across multiple requests to preserve user sessions.
  • Non-Blocking Event Loops - Manages multiple network requests simultaneously using a non-blocking event loop to improve throughput.
  • HTTP Mock Servers - Returns predefined responses for specific URLs to simulate server behavior during testing.
  • Stub Registries - Bypasses the network layer to return predefined mock data for specific URLs during testing.
  • Concurrent Request Pooling - Executes multiple network requests concurrently using a managed queue to optimize throughput.
  • Response Caching - Stores results of network requests in a local backend to avoid redundant calls and increase loading speeds.
  • Response Body Streaming - Processes large response bodies in chunks via callbacks to reduce memory usage and allow mid-stream abortion.
  • Response Streaming - Processes large responses in chunks via a callback to reduce memory usage.
  • Chunked Response Processing - Processes incoming network data in small fragments via callbacks to maintain a low memory footprint.
  • Request Timeout Management - Sets time limits for connections and total request durations to prevent application hangs.
  • HTTP File Uploads - Sends files to servers via POST requests with automatic content-type detection and original filenames.
  • Proxy Routing - Directs network traffic through proxy servers with optional support for basic authentication.
  • Basic Authentication - Applies username and password pairs to requests using standard HTTP basic authentication.
  • Session & Cookie Handlers - Reads and writes session cookies to maintain user state across multiple network requests.
  • SSL/TLS Connection Security - Implements secure transport layers via SSL configuration and basic authentication for protected web services.
  • HTTP Response Memoization - Intercepts duplicate requests within a session to return cached responses instead of initiating new network calls.
  • HTTP Request Caching - Stores and reuses HTTP responses in a local backend to reduce redundant network traffic.
  • API Request Mocking - Provides tools to intercept network requests and return predefined responses to simulate server behavior during testing.
  • Web Automation and Scraping - Provides infrastructure for automated web retrieval by managing cookies, following redirects, and routing traffic through proxies.
  • HTTP Clients - Fast HTTP client wrapping libcurl.

Historial de estrellas

Gráfico del historial de estrellas de typhoeus/typhoeusGráfico del historial de estrellas de typhoeus/typhoeus

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Typhoeus

Proyectos open-source similares, clasificados según cuántas características comparten con Typhoeus.
  • lostisland/faradayAvatar de lostisland

    lostisland/faraday

    5,946Ver en GitHub↗

    Faraday is an HTTP client library for Ruby that sends requests and processes responses through a middleware pipeline with pluggable adapters. Its core identity is built around a middleware-pipeline architecture where HTTP requests and responses flow through a chain of components that can modify, log, or transform data before reaching the backend, combined with an adapter-based backend abstraction that delegates HTTP execution to interchangeable backends like Net::HTTP or Typhoeus. The library distinguishes itself through a parallel-execution engine that dispatches multiple HTTP requests concu

    Ruby
    Ver en GitHub↗5,946
  • sindresorhus/gotAvatar de sindresorhus

    sindresorhus/got

    14,915Ver en GitHub↗

    Got is a promise-based HTTP request library for Node.js that supports HTTP/2 and streaming. It provides a system for making network requests with a focus on asynchronous control flow and type-safe API client development. The library is distinguished by its middleware-based request lifecycle, which uses interceptors and plugins to modify request options and response data. It includes a configurable automatic retry mechanism with backoff strategies, a built-in HTTP response cache, and a cookie-jar system for maintaining persistent sessions. Broad capabilities cover data handling through duplex

    TypeScripthttphttp-clienthttp-request
    Ver en GitHub↗14,915
  • encode/httpxAvatar de encode

    encode/httpx

    15,090Ver en 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
    Ver en GitHub↗15,090
  • whoshuu/cprAvatar de whoshuu

    whoshuu/cpr

    7,362Ver en 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++
    Ver en GitHub↗7,362
Ver las 30 alternativas a Typhoeus→

Preguntas frecuentes

¿Qué hace typhoeus/typhoeus?

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.

¿Cuáles son las características principales de typhoeus/typhoeus?

Las características principales de typhoeus/typhoeus son: libcurl Wrappers, HTTP Request Clients, Asynchronous HTTP Clients, C-Library Bindings, Client Session Persistence, Non-Blocking Event Loops, HTTP Mock Servers, Stub Registries.

¿Qué alternativas de código abierto existen para typhoeus/typhoeus?

Las alternativas de código abierto para typhoeus/typhoeus incluyen: lostisland/faraday — Faraday is an HTTP client library for Ruby that sends requests and processes responses through a middleware pipeline… sindresorhus/got — Got is a promise-based HTTP request library for Node.js that supports HTTP/2 and streaming. It provides a system for… encode/httpx — This project is a comprehensive Python network request framework designed for both synchronous and asynchronous HTTP… whoshuu/cpr — cpr is a C++ networking library that provides a high-level HTTP request client. It functions as a wrapper around… axios/axios — Axios is an isomorphic, promise-based HTTP client designed for making asynchronous network requests across different… guzzle/guzzle — Guzzle is a PHP HTTP client used for sending synchronous and asynchronous requests to web services. It serves as a…