Convertir curl a Kotlin

curl2code convierte comandos curl a código Kotlin utilizando OkHttp. La conversión se ejecuta en su navegador a través de WebAssembly para una privacidad total. Para Java, consulte nuestro conversor de curl a Java. Para Swift (iOS), vea curl a Swift. A continuación se presentan ejemplos prácticos de Kotlin.

Cómo copiar curl desde su navegador

  1. 1

    Abrir DevTools

    Presione F12 o Ctrl+Shift+I para abrir las herramientas de desarrollo de su navegador.

  2. 2

    Vaya a la pestaña Network

    Haga clic en la pestaña Network y realice la acción que activa la solicitud HTTP.

  3. 3

    Copiar como cURL

    Haga clic derecho en la solicitud → CopyCopy as cURL. Luego péguelo arriba.

Preguntas frecuentes

¿Qué es Kotlin OkHttp?

OkHttp es un cliente HTTP ampliamente utilizado para Kotlin y Java, desarrollado por Square. Cuenta con agrupación de conexiones, GZIP transparente, almacenamiento en caché de respuestas y soporte para HTTP/2. Añádelo con implementation("com.squareup.okhttp3:okhttp:4.x"). Es la biblioteca predeterminada que curl2code usa para las conversiones de Kotlin y es el cliente HTTP estándar para Android.

OkHttp vs Ktor Client vs Fuel — ¿cuál usar?

OkHttp es el estándar de la industria, especialmente para Android. Ktor Client está centrado en Kotlin con soporte para corrutinas y capacidad multiplataforma. Fuel es ligero con un DSL de Kotlin limpio. Para Android, OkHttp (a menudo a través de Retrofit) es la opción predeterminada. Para una comparación en la JVM, consulta nuestro convertidor de curl a Java.

¿Cómo manejar la autenticación en Kotlin?

Añade un encabezado: request.addHeader("Authorization", "Bearer $token"). Para autenticación Basic: usa la utilidad Credentials.basic(user, pass). OkHttp también soporta la interfaz Authenticator para el reintento automático con credenciales en respuestas 401. curl2code maneja automáticamente los flags -u y Bearer.

¿Cómo enviar datos de formulario multipart en Kotlin?

Usa MultipartBody.Builder() de OkHttp: .addFormDataPart("file", filename, fileBody) para archivos y .addFormDataPart("key", "value") para campos. Establece .setType(MultipartBody.FORM). curl2code convierte los flags -F al código correcto del constructor multipart de OkHttp.

¿Cómo manejar errores HTTP en Kotlin?

Comprueba response.isSuccessful para estados 2xx o lee response.code. OkHttp lanza IOException en fallos de red. Usa runCatching { } de Kotlin o try/catch para un manejo de errores limpio. Cierra siempre el cuerpo de la respuesta con un bloque .use { } para evitar fugas de recursos.

¿Cómo usar corrutinas con OkHttp?

Envuelve las llamadas bloqueantes de OkHttp en withContext(Dispatchers.IO) { client.newCall(request).execute() }. O usa la extensión suspendCancellableCoroutine con enqueue() para un asincronismo real. Ktor Client tiene soporte nativo para corrutinas integrado. Para patrones asíncronos similares, consulta curl a Swift (async/await).

¿Cómo establecer tiempos de espera en Kotlin OkHttp?

Configúralo en el cliente: OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).writeTimeout(30, TimeUnit.SECONDS).build(). Para reintentos, añade un interceptor que reintente en caso de fallo. Estos se mapean a --connect-timeout y --max-time de curl.

¿Cómo usar un proxy con OkHttp?

Establécelo en el constructor del cliente: OkHttpClient.Builder().proxy(Proxy(Proxy.Type.HTTP, InetSocketAddress("proxy", 8080))).build(). Para autenticación, añade proxyAuthenticator. OkHttp también soporta proxies SOCKS con Proxy.Type.SOCKS. curl2code convierte los flags -x a esta configuración.

¿Cómo enviar una solicitud POST con un cuerpo JSON en Kotlin?

Convierte un comando curl POST como curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL a Kotlin usando curl2code. El código generado utiliza RequestBody.create(MediaType.parse("application/json"), json). curl2code detecta automáticamente los flags -d/--data con contenido JSON y establece el encabezado Content-Type adecuado en el código de OkHttp.

¿Cómo añadir autorización con token Bearer en Kotlin?

Pasa curl -H "Authorization: Bearer YOUR_TOKEN" URL a curl2code y este generará código de OkHttp con el encabezado de autorización: .addHeader("Authorization", "Bearer YOUR_TOKEN"). curl2code detecta tokens Bearer tanto en los flags -H "Authorization: Bearer ..." como en --oauth2-bearer. Para Basic auth, utiliza -u user:pass.

¿Cómo configurar el encabezado Content-Type en Kotlin?

curl2code convierte curl -H "Content-Type: application/json" URL a código de OkHttp con el encabezado correcto: .addHeader("Content-Type", "application/json"). Para los datos de -d, curl utiliza por defecto application/x-www-form-urlencoded; para subidas de formularios con -F, utiliza multipart/form-data. curl2code mapea cada uno a la API de OkHttp correcta.

Enlaces útiles

Guías de curl

Convertir curl a otros lenguajes