Repolode
lysine-dev

lysine-dev/okhttp

Cliente HTTP para JVM, Android e GraalVM que reutiliza conexões, oferece suporte a HTTP/2 e armazena respostas em cache por padrão.

Estrelas
47,090
Forks
9,298
Issues abertas
148
Último commit
há 2 horas

O que é?

OkHttp é um cliente HTTP para aplicações Java, Kotlin e Android. Ele foi projetado para ser eficiente por padrão: requisições ao mesmo host podem compartilhar um socket usando HTTP/2, as conexões são agrupadas quando HTTP/2 não está disponível, as respostas são descompactadas com GZIP de forma transparente e requisições repetidas podem ser atendidas pelo cache de respostas sem acessar a rede.

O cliente também lida com redes instáveis. Quando um serviço é resolvido para vários endereços IP, o OkHttp tenta os endereços alternativos se uma conexão falhar. Ele oferece suporte a TLS 1.3, ALPN e certificate pinning, e sua API usa builders encadeáveis e objetos imutáveis de requisição e resposta. As chamadas podem ser síncronas ou assíncronas, com callbacks.

O projeto segue as especificações HTTP modernas (RFC 9110 a 9113, WebSocket e eventos enviados pelo servidor) e inclui módulos complementares para coroutines, logging, SSE, DNS over HTTPS e MockWebServer para testar clientes. Ele roda no Android 5.0+ e no Java 8+, e pode ser compilado como uma imagem nativa do GraalVM.

Recursos principais

  • 01O pool de conexões e a multiplexação HTTP/2 reduzem a latência em requisições repetidas ao mesmo host.
  • 02A descompactação transparente de GZIP e o cache de respostas evitam downloads redundantes.
  • 03Usa endereços IP alternativos quando uma tentativa de conexão falha.
  • 04Oferece suporte a TLS 1.3, ALPN e certificate pinning, e pode usar Conscrypt no Java.
  • 05Disponibiliza APIs para chamadas síncronas e assíncronas, baseadas em requisições e respostas imutáveis.
  • 06Inclui o MockWebServer para testar clientes HTTP, HTTPS e HTTP/2.

Casos de uso

  • Fazer chamadas a APIs REST ou JSON em uma aplicação Java, Kotlin ou Android.
  • Baixar arquivos ou mídias grandes, aproveitando a compressão e o cache para economizar banda.
  • Criar uma ferramenta HTTP nativa de linha de comando com GraalVM.
  • Escrever testes de integração usando um servidor HTTP simulado.

Início rápido

  1. 1

    Adicione a dependência do OkHttp ao seu build do Gradle

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

    Crie um OkHttpClient e envie uma solicitação usando o exemplo «Get a URL» do README

Antes de usar

  • Não permite solicitações GET com corpo.
  • O cache de respostas não é uma interface com implementações alternativas.
  • A configuração do Maven exige escolher okhttp-jvm ou okhttp-android, já que o artefato okhttp está vazio.

Tópicos

Perguntas frequentes

O que é okhttp?
Cliente HTTP para JVM, Android e GraalVM que reutiliza conexões, oferece suporte a HTTP/2 e armazena respostas em cache por padrão. OkHttp é um cliente HTTP para aplicações Java, Kotlin e Android. Ele foi projetado para ser eficiente por padrão: requisições ao mesmo host podem compartilhar um socket usando HTTP/2, as conexões são agrupadas quando HTTP/2 não está disponível, as respostas são descompactadas com GZIP de forma transparente e requisições repetidas podem ser atendidas pelo cache de respostas sem acessar a rede.
okhttp é gratuito? Qual é a licença?
okhttp é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
okhttp ainda é mantido?
Manutenção ativa. O último commit de okhttp foi em 21 de out. de 2026.
Para que posso usar okhttp?
Fazer chamadas a APIs REST ou JSON em uma aplicação Java, Kotlin ou Android. Baixar arquivos ou mídias grandes, aproveitando a compressão e o cache para economizar banda. Criar uma ferramenta HTTP nativa de linha de comando com GraalVM. Escrever testes de integração usando um servidor HTTP simulado.
Como instalar okhttp?
Adicione a dependência do OkHttp ao seu build do Gradle: implementation("com.squareup.okhttp3:okhttp:5.5.0") Crie um OkHttpClient e envie uma solicitação usando o exemplo «Get a URL» do README
Onde consigo okhttp?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/lysine-dev/okhttp

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados