Converter curl para Kotlin
O curl2code converte comandos curl para código Kotlin usando OkHttp. A conversão é executada no seu navegador via WebAssembly para total privacidade. Para Java, confira nosso conversor de curl para Java. Para Swift (iOS), veja curl para Swift. Abaixo estão exemplos práticos de Kotlin.
Como copiar o curl do seu navegador
- 1
Abra o DevTools
Pressione F12 ou Ctrl+Shift+I para abrir as ferramentas de desenvolvedor do seu navegador.
- 2
Vá para a aba Network
Clique na aba Network e realize a ação que dispara a requisição HTTP.
- 3
Copiar como cURL
Clique com o botão direito na requisição → Copy → Copy as cURL. Depois cole acima.
Perguntas Frequentes
O que é o Kotlin OkHttp?
OkHttp é um cliente HTTP amplamente utilizado para Kotlin e Java, desenvolvido pela Square. Possui pool de conexões, GZIP transparente, cache de resposta e suporte a HTTP/2. Adicione com implementation("com.squareup.okhttp3:okhttp:4.x"). É a biblioteca padrão que o curl2code usa para conversões Kotlin e é o cliente HTTP padrão para Android.
OkHttp vs Ktor Client vs Fuel — qual usar?
OkHttp é o padrão da indústria, especialmente para Android. Ktor Client é focado em Kotlin com suporte a coroutines e capacidade multiplataforma. Fuel é leve com uma DSL Kotlin limpa. Para Android, OkHttp (geralmente via Retrofit) é a escolha padrão. Para comparação na JVM, veja nosso conversor de curl para Java.
Como lidar com autenticação no Kotlin?
Adicione um cabeçalho: request.addHeader("Authorization", "Bearer $token"). Para autenticação Basic: use o utilitário Credentials.basic(user, pass). O OkHttp também suporta a interface Authenticator para retentativa automática com credenciais em respostas 401. O curl2code lida com as flags -u e Bearer automaticamente.
Como enviar dados de formulário multipart no Kotlin?
Use o MultipartBody.Builder() do OkHttp: .addFormDataPart("file", filename, fileBody) para arquivos e .addFormDataPart("key", "value") para campos. Defina .setType(MultipartBody.FORM). O curl2code converte as flags -F para o código correto do construtor multipart do OkHttp.
Como lidar com erros HTTP no Kotlin?
Verifique response.isSuccessful para status 2xx ou leia response.code. O OkHttp lança IOException em falhas de rede. Use o runCatching { } do Kotlin ou try/catch para um tratamento de erros limpo. Sempre feche o corpo da resposta com um bloco .use { } para evitar vazamentos de recursos.
Como usar coroutines com OkHttp?
Envolva chamadas bloqueantes do OkHttp em withContext(Dispatchers.IO) { client.newCall(request).execute() }. Ou use a extensão suspendCancellableCoroutine com enqueue() para async real. O Ktor Client tem suporte nativo a coroutines integrado. Para padrões assíncronos semelhantes, veja curl para Swift (async/await).
Como definir timeouts no Kotlin OkHttp?
Configure no cliente: OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).writeTimeout(30, TimeUnit.SECONDS).build(). Para retentativas, adicione um interceptor que tenta novamente em caso de falha. Estes mapeiam para --connect-timeout e --max-time do curl.
Como usar um proxy com OkHttp?
Defina no builder do cliente: OkHttpClient.Builder().proxy(Proxy(Proxy.Type.HTTP, InetSocketAddress("proxy", 8080))).build(). Para autenticação, adicione proxyAuthenticator. O OkHttp também suporta proxies SOCKS com Proxy.Type.SOCKS. O curl2code converte as flags -x para esta configuração.
Como enviar uma requisição POST com corpo JSON em Kotlin?
Converta um comando curl POST como curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL para Kotlin usando o curl2code. O código gerado usa RequestBody.create(MediaType.parse("application/json"), json). O curl2code detecta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código do OkHttp.
Como adicionar autorização com token Bearer em Kotlin?
Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e ele gerará o código do OkHttp com o cabeçalho de autenticação: .addHeader("Authorization", "Bearer YOUR_TOKEN"). O curl2code detecta tokens Bearer tanto de flags -H "Authorization: Bearer ..." quanto de --oauth2-bearer. Para Basic auth, use -u user:pass.
Como definir o cabeçalho Content-Type em Kotlin?
O curl2code converte curl -H "Content-Type: application/json" URL para o código do OkHttp com o cabeçalho correto: .addHeader("Content-Type", "application/json"). Para dados -d, o curl define por padrão application/x-www-form-urlencoded; para uploads de formulário com -F, ele usa multipart/form-data. O curl2code mapeia cada um para a API correta do OkHttp.