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. 1

    Abrir as DevTools

    Prima F12 ou Ctrl+Shift+I para abrir as ferramentas de programador do seu navegador.

  2. 2

    Ir para o separador Network

    Clique no separador Network e realize a ação que despoleta o pedido HTTP.

  3. 3

    Copiar como cURL

    Clique com o botão direito no pedido → CopyCopy 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

Converter curl para Outras Linguagens