Converter curl para Dart
Converta comandos curl para código Dart usando o pacote http. O curl2code é executado inteiramente no seu navegador via WebAssembly — seus dados permanecem privados. Para Kotlin, tente nosso conversor de curl para Kotlin. Para Swift, veja curl para Swift. Abaixo estão exemplos de Dart prontos para usar para Flutter.
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 pacote http do Dart?
O pacote http é o cliente HTTP recomendado para Dart e Flutter. Ele fornece uma API simples baseada em Future para GET, POST, uploads multipart e streaming. Instale com dart pub add http. Funciona em todas as plataformas Dart — mobile, web e servidor. O curl2code o utiliza como padrão para conversões Dart.
http vs dio vs HttpClient — qual devo usar?
http é simples e leve — ótimo para requisições básicas. dio adiciona interceptores, FormData, progresso de download e cancelamento. HttpClient (dart:io) é de nível mais baixo e nativo, mas mais verboso. Para apps Flutter que precisam de interceptores, escolha dio. Para clientes mobile semelhantes, veja curl para Kotlin ou curl para Swift.
Como lidar com autenticação no Dart?
Passe os cabeçalhos para a requisição: http.get(url, headers: { "Authorization": "Bearer $token" }). Para autenticação Basic, codifique com base64Encode(utf8.encode("$user:$pass")). O curl2code converte as flags -u e -H 'Authorization' para código Dart com cabeçalhos tipados corretamente.
Como enviar dados de formulário multipart no Dart?
Use http.MultipartRequest: crie a requisição, adicione campos com request.fields['key'] = 'value' e arquivos com request.files.add(await http.MultipartFile.fromPath('file', path)). Em seguida, envie com request.send(). O curl2code converte as flags -F para este padrão.
Como lidar com erros HTTP no Dart?
O pacote http não lança exceções em erros HTTP — verifique response.statusCode manualmente. Envolva as chamadas em try/catch para SocketException (erros de rede) e TimeoutException. Use http.Client com close() para a limpeza adequada de recursos em aplicações de longa duração.
Como usar async/await com Dart HTTP?
Todos os métodos HTTP do Dart retornam Future — use final response = await http.get(Uri.parse(url)). O async/await do Dart é nativo da linguagem. Para requisições paralelas, use Future.wait([request1, request2]). Para padrões assíncronos semelhantes, veja curl para TypeScript ou curl para Swift.
Como definir timeouts no Dart?
Use o método .timeout() em qualquer Future: http.get(url).timeout(Duration(seconds: 30)). Isso lança TimeoutException quando excedido. Para mais controle, crie um http.Client e configure através do HttpClient subjacente do dart:io com connectionTimeout.
Como usar um proxy no Dart?
Use HttpClient do dart:io: HttpClient()..findProxy = (uri) => 'PROXY proxy:8080'. Para o pacote http, crie um IOClient personalizado envolvendo o HttpClient configurado. O Dart também respeita as variáveis de ambiente HTTP_PROXY e NO_PROXY.
Como enviar uma requisição POST com corpo JSON em Dart?
Converta um comando curl POST como curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL para Dart usando o curl2code. O código gerado usa http.post(uri, body: jsonEncode(data), headers: {'Content-Type': 'application/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 http.
Como adicionar autorização com token Bearer em Dart?
Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e ele gerará o código do http com o cabeçalho de autenticação: headers: {'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 Dart?
O curl2code converte curl -H "Content-Type: application/json" URL para o código do http com o cabeçalho correto: headers: {'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 http.