Repolode
lysine-dev

lysine-dev/okhttp

Cliente HTTP para JVM, Android y GraalVM que reutiliza conexiones, admite HTTP/2 y almacena respuestas en caché de forma predeterminada.

Estrellas
47,090
Forks
9,298
Issues abiertos
148
Último commit
hace 2 horas

¿Qué es?

OkHttp es un cliente HTTP para aplicaciones Java, Kotlin y Android. Está diseñado para ser eficiente de forma predeterminada: las solicitudes al mismo host pueden compartir un socket mediante HTTP/2; si HTTP/2 no está disponible, las conexiones se mantienen en un pool; las respuestas se descomprimen de forma transparente con gzip y las solicitudes repetidas pueden servirse desde una caché de respuestas sin acceder a la red.

El cliente también gestiona redes poco fiables. Si un servicio se resuelve en varias direcciones IP, OkHttp prueba otras alternativas después de un fallo de conexión. Admite TLS 1.3, ALPN y certificate pinning, y su API usa builders fluidos y objetos de solicitud y respuesta inmutables. Las llamadas pueden ser síncronas o asíncronas mediante callbacks.

El proyecto sigue las especificaciones HTTP modernas (RFC 9110 a 9113, WebSocket y server-sent events) e incluye módulos complementarios para coroutines, logging, SSE, DNS over HTTPS y MockWebServer, para probar clientes. Funciona en Android 5.0 o posterior y Java 8 o posterior, y se puede compilar como una imagen nativa de GraalVM.

Funciones clave

  • 01El pool de conexiones y la multiplexación de HTTP/2 reducen la latencia de las solicitudes repetidas al mismo host.
  • 02La descompresión transparente de GZIP y la caché de respuestas evitan descargas redundantes.
  • 03Prueba direcciones IP alternativas si falla un intento de conexión.
  • 04Admite TLS 1.3, ALPN y certificate pinning, y puede usar Conscrypt en Java.
  • 05Ofrece API para llamadas síncronas y asíncronas basadas en solicitudes y respuestas inmutables.
  • 06Incluye MockWebServer para probar clientes HTTP, HTTPS y HTTP/2.

Casos de uso

  • Llamar a API REST o JSON desde una aplicación Java, Kotlin o Android.
  • Descargar archivos o contenido multimedia de gran tamaño cuando la compresión y la caché permiten ahorrar ancho de banda.
  • Crear una herramienta HTTP nativa de línea de comandos con GraalVM.
  • Escribir pruebas de integración contra un servidor HTTP simulado.

Inicio rápido

  1. 1

    Añade la dependencia de OkHttp a tu compilación de Gradle

    implementation("com.squareup.okhttp3:okhttp:5.5.0")
  2. 2

    Crea un OkHttpClient y envía una solicitud con el ejemplo «Get a URL» del README

Antes de usarlo

  • No permite solicitudes GET con cuerpo.
  • La caché de respuestas no es una interfaz con implementaciones alternativas.
  • La configuración de Maven requiere elegir okhttp-jvm u okhttp-android, ya que el artefacto okhttp está vacío.

Temas

Preguntas frecuentes

¿Qué es okhttp?
Cliente HTTP para JVM, Android y GraalVM que reutiliza conexiones, admite HTTP/2 y almacena respuestas en caché de forma predeterminada. OkHttp es un cliente HTTP para aplicaciones Java, Kotlin y Android. Está diseñado para ser eficiente de forma predeterminada: las solicitudes al mismo host pueden compartir un socket mediante HTTP/2; si HTTP/2 no está disponible, las conexiones se mantienen en un pool; las respuestas se descomprimen de forma transparente con gzip y las solicitudes repetidas pueden servirse desde una caché de respuestas sin acceder a la red.
¿okhttp es gratuito? ¿Qué licencia tiene?
okhttp es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿okhttp sigue mantenido?
Mantenimiento activo. El último commit de okhttp fue el 21 oct 2026.
¿Para qué puedo usar okhttp?
Llamar a API REST o JSON desde una aplicación Java, Kotlin o Android. Descargar archivos o contenido multimedia de gran tamaño cuando la compresión y la caché permiten ahorrar ancho de banda. Crear una herramienta HTTP nativa de línea de comandos con GraalVM. Escribir pruebas de integración contra un servidor HTTP simulado.
¿Cómo se instala okhttp?
Añade la dependencia de OkHttp a tu compilación de Gradle: implementation("com.squareup.okhttp3:okhttp:5.5.0") Crea un OkHttpClient y envía una solicitud con el ejemplo «Get a URL» del README
¿Dónde consigo okhttp?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/lysine-dev/okhttp

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados