Converter curl para Dart
Converta comandos curl para código Dart utilizando o pacote http. O curl2code é executado inteiramente no seu navegador através de WebAssembly — os seus dados permanecem privados. Para Kotlin, experimente o nosso conversor de curl para Kotlin. Para Swift, veja curl para Swift. Abaixo encontram-se exemplos de Dart prontos a usar para Flutter.
Como copiar o curl do seu navegador
- 1
Abrir as DevTools
Prima F12 ou Ctrl+Shift+I para abrir as ferramentas de programador do seu navegador.
- 2
Ir para o separador Network
Clique no separador Network e realize a ação que despoleta o pedido HTTP.
- 3
Copiar como cURL
Clique com o botão direito no pedido → Copy → Copy as cURL. Depois cole-o acima.
Perguntas Frequentes
O que é o pacote http do Dart?
O pacote http é o cliente HTTP recomendado para Dart e Flutter. 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 — móvel, web e servidor. O curl2code utiliza-o como padrão para conversões Dart.
http vs dio vs HttpClient — qual devo usar?
http é simples e leve — ideal para pedidos básicos. dio adiciona interceptores, FormData, progresso de download e cancelamento. HttpClient (dart:io) é de nível mais baixo e nativo, mas mais verboso. Para aplicações Flutter que necessitem de interceptores, escolha o dio. Para clientes móveis semelhantes, consulte curl para Kotlin ou curl para Swift.
Como gerir a autenticação em Dart?
Passe os cabeçalhos para o pedido: 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 devidamente tipados.
Como enviar dados de formulário multipart em Dart?
Use http.MultipartRequest: crie o pedido, adicione campos com request.fields['key'] = 'value' e ficheiros com request.files.add(await http.MultipartFile.fromPath('file', path)). Depois envie com request.send(). O curl2code converte as flags -F para este padrão.
Como gerir erros HTTP em 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 uma 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 devolvem um Future — use final response = await http.get(Uri.parse(url)). O async/await do Dart está integrado na linguagem. Para pedidos paralelos, use Future.wait([request1, request2]). Para padrões assíncronos semelhantes, consulte curl para TypeScript ou curl para Swift.
Como definir timeouts em Dart?
Use o método .timeout() em qualquer Future: http.get(url).timeout(Duration(seconds: 30)). Isto lança uma TimeoutException quando excedido. Para mais controlo, crie um http.Client e configure através do HttpClient subjacente do dart:io com connectionTimeout.
Como usar um proxy em Dart?
Use o HttpClient do dart:io: HttpClient()..findProxy = (uri) => 'PROXY proxy:8080'. Para o pacote http, crie um IOClient personalizado que envolva o HttpClient configurado. O Dart também respeita as variáveis de ambiente HTTP_PROXY e NO_PROXY.
Como enviar um pedido POST com um 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 utiliza http.post(uri, body: jsonEncode(data), headers: {'Content-Type': 'application/json'}). O curl2code deteta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código http.
Como adicionar autorização com token Bearer em Dart?
Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e este gera código http com o cabeçalho de autenticação: headers: {'Authorization': 'Bearer YOUR_TOKEN'}. O curl2code deteta tokens Bearer tanto de flags -H "Authorization: Bearer ..." como de --oauth2-bearer. Para Basic auth, utilize -u user:pass.
Como definir o cabeçalho Content-Type em Dart?
O curl2code converte curl -H "Content-Type: application/json" URL para código http com o cabeçalho correto: headers: {'Content-Type': 'application/json'}. Para dados -d, o curl assume por defeito application/x-www-form-urlencoded; para envios de formulários -F, utiliza multipart/form-data. O curl2code mapeia cada um para a API http correta.
Links Úteis
Guias do curl
Códigos de erro do curl
Consulte qualquer código de saída do curl — causas, correções e dicas de depuração.
Transferir ficheiros com curl
Guarde ficheiros com -o, -O, siga redirecionamentos, retome transferências e mais.
SSL, TLS e proxy
Configure certificados, versões TLS, proxies HTTP/SOCKS e DNS personalizado.