Convertir curl a Java
Convierta comandos curl a código Java utilizando la moderna API HttpClient. curl2code se ejecuta completamente en su navegador a través de WebAssembly; ningún dato sale de su dispositivo. Para desarrollo en Kotlin, pruebe nuestro conversor de curl a Kotlin. Para C# (.NET), vea curl a C#. A continuación se muestran ejemplos de Java listos para usar.
Cómo copiar curl desde su navegador
- 1
Abrir DevTools
Presione F12 o Ctrl+Shift+I para abrir las herramientas de desarrollo de su navegador.
- 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
Copiar como cURL
Haga clic derecho en la solicitud → Copy → Copy as cURL. Luego péguelo arriba.
Preguntas frecuentes
¿Qué es Java HttpClient?
HttpClient de Java (introducido en Java 11) es un cliente HTTP moderno e integrado que reemplaza al heredado HttpURLConnection. Admite HTTP/2, solicitudes asíncronas, WebSocket y una API de constructor fluida. No se necesitan dependencias externas. curl2code también admite OkHttp, Jsoup y HttpURLConnection como alternativas.
HttpClient vs OkHttp vs HttpURLConnection — ¿cuál usar?
HttpClient (Java 11+) es el estándar moderno; úsalo para proyectos nuevos. OkHttp es maduro, ampliamente utilizado en Android, con interceptores y agrupación de conexiones. HttpURLConnection funciona en todas las versiones de Java pero es verboso. Para Android/Kotlin, consulta nuestro conversor de curl a Kotlin. Para un enfoque moderno similar, prueba curl a C#.
¿Cómo manejar la autenticación en Java?
Establece el encabezado Authorization: request.header("Authorization", "Bearer " + token). Para la autenticación Basic, codifica con Base64.getEncoder().encodeToString((user + ":" + pass).getBytes()). HttpClient también admite Authenticator para el manejo automático de credenciales.
¿Cómo enviar datos de formulario multipart en Java?
HttpClient de Java 11+ requiere la construcción manual del cuerpo multipart con cadenas de límite (boundary). Usa HttpRequest.BodyPublishers.ofString() con partes formateadas manualmente. OkHttp simplifica esto con MultipartBody.Builder. curl2code genera el código multipart adecuado para la biblioteca de Java elegida.
¿Cómo manejar errores HTTP en Java?
Con HttpClient, comprueba response.statusCode() después de cada solicitud; no lanza excepciones en errores HTTP. Envuelve las llamadas en try/catch para IOException (red) e InterruptedException (asíncrono). OkHttp lanza IOException en fallos y proporciona response.isSuccessful() para comprobaciones de estado.
¿Cómo hacer solicitudes HTTP asíncronas en Java?
HttpClient proporciona sendAsync() devolviendo CompletableFuture: client.sendAsync(request, BodyHandlers.ofString()).thenApply(HttpResponse::body). Encadena con thenAccept(), thenCompose() o usa CompletableFuture.allOf() para solicitudes en paralelo. OkHttp usa enqueue() con una interfaz Callback.
¿Cómo establecer tiempos de espera en Java HttpClient?
Establece en el cliente: HttpClient.newBuilder().connectTimeout(Duration.ofSeconds(10)).build(). Por solicitud: request.timeout(Duration.ofSeconds(30)). OkHttp usa OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).
¿Cómo configurar un proxy en Java?
Con HttpClient: HttpClient.newBuilder().proxy(ProxySelector.of(new InetSocketAddress("proxy", 8080))).build(). OkHttp usa la clase Proxy: new OkHttpClient.Builder().proxy(new Proxy(Proxy.Type.HTTP, address)). Java también respeta las etiquetas de JVM -Dhttp.proxyHost. curl2code convierte las etiquetas -x automáticamente.
¿Cómo enviar una solicitud POST con un cuerpo JSON en Java?
Convierte un comando curl POST como curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL a Java usando curl2code. El código generado utiliza HttpRequest.newBuilder().POST(BodyPublishers.ofString(jsonString)).build(). curl2code detecta automáticamente los flags -d/--data con contenido JSON y establece el encabezado Content-Type adecuado en el código de HttpClient.
¿Cómo añadir autorización con token Bearer en Java?
Pasa curl -H "Authorization: Bearer YOUR_TOKEN" URL a curl2code y este generará código de HttpClient con el encabezado de autorización: .header("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 Java?
curl2code convierte curl -H "Content-Type: application/json" URL a código de HttpClient con el encabezado correcto: .header("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 HttpClient correcta.
Enlaces útiles
Guías de curl
Códigos de error de curl
Busca cualquier código de salida de curl — causas, soluciones y consejos de depuración.
Descargar archivos con curl
Guarda archivos con -o, -O, sigue redirecciones, reanuda descargas y más.
SSL, TLS y proxy
Configura certificados, versiones de TLS, proxies HTTP/SOCKS y DNS personalizado.