Converter curl para Java
Converta comandos curl para código Java usando a API moderna HttpClient. O curl2code é executado inteiramente no seu navegador via WebAssembly — nenhum dado sai do seu dispositivo. Para desenvolvimento Kotlin, tente nosso conversor de curl para Kotlin. Para C# (.NET), veja curl para C#. Abaixo estão exemplos de Java prontos para usar.
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 Java HttpClient?
O HttpClient do Java (introduzido no Java 11) é um cliente HTTP moderno e nativo que substitui o legado HttpURLConnection. Ele suporta HTTP/2, requisições assíncronas, WebSocket e uma API fluida de builder. Nenhuma dependência externa é necessária. O curl2code também suporta OkHttp, Jsoup e HttpURLConnection como alternativas.
HttpClient vs OkHttp vs HttpURLConnection — qual usar?
HttpClient (Java 11+) é o padrão moderno — use-o para novos projetos. OkHttp é maduro, amplamente usado no Android, com interceptores e pooling de conexões. HttpURLConnection funciona em todas as versões do Java, mas é verboso. Para Android/Kotlin, veja nosso conversor de curl para Kotlin. Para uma abordagem moderna semelhante, tente curl para C#.
Como lidar com autenticação em Java?
Defina o cabeçalho Authorization: request.header("Authorization", "Bearer " + token). Para autenticação Basic, codifique com Base64.getEncoder().encodeToString((user + ":" + pass).getBytes()). O HttpClient também suporta Authenticator para tratamento automático de credenciais.
Como enviar dados de formulário multipart em Java?
O HttpClient do Java 11+ requer a construção manual do corpo multipart com strings de boundary. Use HttpRequest.BodyPublishers.ofString() com partes formatadas manualmente. O OkHttp simplifica isso com MultipartBody.Builder. O curl2code gera o código multipart apropriado para a biblioteca Java escolhida.
Como lidar com erros HTTP em Java?
Com HttpClient, verifique response.statusCode() após cada requisição — ele não lança exceções em erros HTTP. Envolva as chamadas em try/catch para IOException (rede) e InterruptedException (assíncrono). O OkHttp lança IOException em falhas e fornece response.isSuccessful() para verificações de status.
Como fazer requisições HTTP assíncronas em Java?
O HttpClient fornece sendAsync() retornando CompletableFuture: client.sendAsync(request, BodyHandlers.ofString()).thenApply(HttpResponse::body). Encadeie com thenAccept(), thenCompose() ou use CompletableFuture.allOf() para requisições paralelas. O OkHttp usa enqueue() com uma interface Callback.
Como definir timeouts no Java HttpClient?
Defina no cliente: HttpClient.newBuilder().connectTimeout(Duration.ofSeconds(10)).build(). Por requisição: request.timeout(Duration.ofSeconds(30)). O OkHttp usa OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).
Como configurar um proxy em Java?
Com HttpClient: HttpClient.newBuilder().proxy(ProxySelector.of(new InetSocketAddress("proxy", 8080))).build(). O OkHttp usa a classe Proxy: new OkHttpClient.Builder().proxy(new Proxy(Proxy.Type.HTTP, address)). O Java também respeita as flags de JVM -Dhttp.proxyHost. O curl2code converte flags -x automaticamente.
Como enviar uma requisição POST com corpo JSON em Java?
Converta um comando curl POST como curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL para Java usando o curl2code. O código gerado usa HttpRequest.newBuilder().POST(BodyPublishers.ofString(jsonString)).build(). O curl2code detecta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código do HttpClient.
Como adicionar autorização com token Bearer em Java?
Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e ele gerará o código do HttpClient com o cabeçalho de autenticação: .header("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 Java?
O curl2code converte curl -H "Content-Type: application/json" URL para o código do HttpClient com o cabeçalho correto: .header("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 HttpClient.