awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
square avatar

square/okhttp

0
View on GitHub↗
46,971 stele·9,272 fork-uri·Kotlin·Apache-2.0·5 vizualizărisquare.github.io/okhttp↗

Okhttp

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 pooling and happy eyeballs connection logic to minimize latency. A flexible interceptor-based request pipeline allows for the modification of outgoing requests and incoming responses to manage authentication, logging, and caching.

The client's broader capability surface includes real-time data streaming via Server-Sent Events, automated request authentication, and transparent decompression for Brotli and Zstandard formats. It also provides extensive testing utilities, such as network latency simulation and outgoing request verification, alongside tools for generating curl commands for debugging.

The project includes support for production bytecode optimization, shrinking, and obfuscation rules to ensure functionality is maintained after compilation.

Features

  • HTTP and Networking - Provides a comprehensive HTTP client for the JVM and Android supporting synchronous and asynchronous requests.
  • Request Timeout Configurations - Provides configurable time limits for connecting and reading to ensure requests fail quickly when peers are unreachable.
  • Asynchronous Network Clients - Provides a comprehensive client for performing non-blocking network requests via callbacks and coroutines.
  • Middleware-Based Request Pipelines - Processes requests through a modular chain of pluggable interceptors to modify network behavior.
  • Connection and Latency Optimizers - Reduces latency and bandwidth through connection pooling and happy eyeball DNS resolution.
  • Connection Pooling - Optimizes performance by maintaining a pool of open socket connections for reuse.
  • Multi-Protocol Handlers - Implements distinct logic for HTTP/1.1, HTTP/2, and WebSockets to handle specific protocol framing.
  • HTTP Clients - Provides a robust HTTP client for the JVM and Android for handling all network communication.
  • Connection Management - Implements automatic request retries and alternate IP attempts to maintain stable network communication.
  • Network Request Interceptors - Provides a powerful interceptor mechanism to modify outgoing requests and incoming responses.
  • Synchronous Network Clients - Supports traditional synchronous blocking calls for simple request-response network communication.
  • Traffic Interception Tools - Implements a flexible interceptor pipeline to modify outgoing requests and incoming responses.
  • Secure Connection Handlers - Manages secure connections using mutual TLS, certificate pinning, and DNS over HTTPS.
  • TLS Transfer Security - Includes a toolkit for securing data in transit using TLS, certificate pinning, and mTLS.
  • HTTP Request Caching - Provides a local disk cache for HTTP responses based on standard cache headers.
  • HTTP Request Interceptors - Provides request interceptors to modify, log, or authenticate HTTP requests before transmission.
  • API Response Caching - Provides a local response caching layer that respects standard HTTP cache headers.
  • HTTP Client Configurations - Supports granular customization of HTTP client behavior on a per-request basis through shallow copies.
  • Happy Eyeballs Implementations - Implements Happy Eyeballs connection logic to minimize latency by racing IPv4 and IPv6 addresses.
  • Response Decompression - Automatically decompresses response bodies encoded with the Brotli algorithm.
  • Network Data Compression - Supports compressing outgoing request bodies to reduce bandwidth and transmission size.
  • Request Cancellations - Allows the immediate termination of active network requests to conserve resources when results are no longer needed.
  • Real-Time Data Streams - Supports persistent bidirectional communication via WebSockets and unidirectional Server-Sent Events.
  • Server-Sent Events - Supports consuming unidirectional real-time event streams from servers using the SSE protocol.
  • WebSocket Clients - Includes a full WebSocket client for establishing persistent bidirectional communication channels.
  • Automatic Credential Retries - Intercepts unauthorized responses to automatically supply credentials and retry the network request.
  • Certificate Pinning - Implements certificate pinning to validate server identities against trusted public keys.
  • Encrypted DNS Resolvers - Supports domain name resolution over encrypted HTTPS connections to enhance user privacy.
  • Mutual TLS Authentication - Enables mutual TLS authentication where both client and server verify certificates during the handshake.
  • TLS Verification Policies - Allows configuration of trusted root certificates to validate server identities during TLS handshakes.
  • Asynchronous Request Dispatchers - Implements a non-blocking queue and dispatcher to handle asynchronous network call execution.
  • Network Traffic Logs - Records request and response data with configurable detail levels for network debugging.
  • API and Network Testing - Includes programmable mock servers to simulate backend behavior and verify network failure handling.
  • Backend Socket Simulators - Mimics a backend server to test client behavior by triggering specific socket effects.
  • Request Verification - Inspects the method, path, headers, and body of outgoing requests to verify they match specifications.
  • Response Simulators - Simulates HTTP, HTTPS, or HTTP/2 server responses to test application behavior without a live backend.
  • Regression Testing Suites - Includes an extensive suite of tests across multiple environments to ensure stability and prevent behavior regressions.
  • API Mocking Servers - Provides a programmable mock server to simulate backend responses and network latency for testing.
  • Android Libraries - HTTP client for Java and Kotlin.
  • Network Programming - HTTP client for Android and Java.
  • Networking - HTTP and HTTP/2 client for Android.
  • Networking and API - HTTP+SPDY client for Android and Java applications.
  • Biblioteci de rețea - Handles HTTP and SPDY network requests for mobile applications.

Istoric stele

Graficul istoricului de stele pentru square/okhttpGraficul istoricului de stele pentru square/okhttp

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Okhttp

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Okhttp.
  • encode/httpxAvatar encode

    encode/httpx

    15,090Vezi pe 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
    Vezi pe GitHub↗15,090
  • curl/curlAvatar curl

    curl/curl

    42,214Vezi pe GitHub↗

    Curl is a command-line tool and portable library for transferring data across a wide range of network protocols. It functions as a unified engine that abstracts diverse communication standards, allowing users and developers to move files and information between servers using a consistent interface. The project provides both a versatile command-line client for terminal-based automation and a stable programmatic interface for integrating complex network operations into applications. The system is distinguished by its protocol-agnostic core and its ability to manage both synchronous and asynchro

    Ccclientcurl
    Vezi pe GitHub↗42,214
  • sindresorhus/gotAvatar sindresorhus

    sindresorhus/got

    14,915Vezi pe 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
    Vezi pe GitHub↗14,915
  • axios/axiosAvatar axios

    axios/axios

    109,077Vezi pe GitHub↗

    Axios is an isomorphic, promise-based HTTP client designed for making asynchronous network requests across different JavaScript execution environments, including the browser and Node.js. It functions as a JSON API client that serializes JavaScript objects into JSON and parses server responses into structured data. The project features a system for managing reusable client instances with shared configurations, such as base URLs and default settings. It includes a mechanism for intercepting outgoing requests and incoming responses globally, allowing data to be transformed before it reaches the

    JavaScripthacktoberfesthttp-clientjavascript
    Vezi pe GitHub↗109,077
Vezi toate cele 30 alternative pentru Okhttp→

Întrebări frecvente

Ce face square/okhttp?

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.

Care sunt principalele funcționalități ale square/okhttp?

Principalele funcționalități ale square/okhttp sunt: HTTP and Networking, Request Timeout Configurations, Asynchronous Network Clients, Middleware-Based Request Pipelines, Connection and Latency Optimizers, Connection Pooling, Multi-Protocol Handlers, HTTP Clients.

Care sunt câteva alternative open-source pentru square/okhttp?

Alternativele open-source pentru square/okhttp includ: encode/httpx — This project is a comprehensive Python network request framework designed for both synchronous and asynchronous HTTP… curl/curl — Curl is a command-line tool and portable library for transferring data across a wide range of network protocols. It… sindresorhus/got — Got is a promise-based HTTP request library for Node.js that supports HTTP/2 and streaming. It provides a system for… axios/axios — Axios is an isomorphic, promise-based HTTP client designed for making asynchronous network requests across different… nock/nock — nock is a Node.js HTTP mocking library and request interceptor. It captures outgoing network traffic to specific hosts… guzzle/guzzle — Guzzle is a PHP HTTP client used for sending synchronous and asynchronous requests to web services. It serves as a…