Skip to main content
Volver a herramientas

cURL to Java

Convierte un comando curl a Java HttpClient

Acerca de cURL to Java

Transforma un comando cURL en código Java 11+ para el java.net.http.HttpClient integrado: una cadena de llamadas HttpRequest.newBuilder() con un .header() por cada -H y una llamada .GET(), .POST(), .PUT(), .DELETE() o .method(). Los cuerpos se envían con BodyPublishers.ofString y la respuesta se lee de forma síncrona como texto. No necesita dependencias de Maven ni Gradle, y la conversión se ejecuta localmente en tu navegador.

Categoría: API.

Preguntas frecuentes

¿Qué versión de Java y qué dependencias necesita el código?

▾

Java 11 o posterior, porque usa el java.net.http.HttpClient integrado y declaraciones var; no requiere dependencias de Maven ni Gradle. El resultado es una lista de instrucciones, así que pégalo dentro de un método que declare throws IOException, InterruptedException, ya que client.send lanza ambas.

¿La llamada con HttpClient de Java es síncrona?

▾

Sí. client.send bloquea hasta que llega la respuesta y la lee como texto con HttpResponse.BodyHandlers.ofString(). Para código no bloqueante, cámbialo por client.sendAsync, que devuelve un CompletableFuture.

¿Por qué la petición Java no sigue redirecciones con -L?

▾

-L no se traduce, y HttpClient.newHttpClient() usa la política de redirección NEVER. Crea el cliente con HttpClient.newBuilder().followRedirects(HttpClient.Redirect.NORMAL).build() para seguirlas; -k también se descarta y requeriría un SSLContext personalizado.

¿Cómo se codifican en Java los campos -F y las credenciales de -u?

▾

Los campos -F se codifican por porcentaje (percent-encoding) en una sola cadena nombre=valor&nombre=valor enviada con BodyPublishers.ofString, no como multipart, y no se agrega ningún encabezado Content-Type para ellos. -u usuario:clave se convierte en un encabezado Authorization: Basic definido con .header(), con el valor Base64 ya calculado.

Herramientas relacionadas