Convertir curl a Dart
Convierta comandos curl a código Dart utilizando el paquete http. curl2code se ejecuta completamente en su navegador a través de WebAssembly; sus datos permanecen privados. Para Kotlin, pruebe nuestro conversor de curl a Kotlin. Para Swift, vea curl a Swift. A continuación se muestran ejemplos de Dart listos para usar para Flutter.
Cómo copiar curl desde su navegador
- 1
Abrir DevTools
Presione F12 o Ctrl+Shift+I para abrir las herramientas de desarrollo de su navegador.
- 2
Vaya a la pestaña Network
Haga clic en la pestaña Network y realice la acción que activa la solicitud HTTP.
- 3
Copiar como cURL
Haga clic derecho en la solicitud → Copy → Copy as cURL. Luego péguelo arriba.
Preguntas frecuentes
¿Qué es el paquete http de Dart?
El paquete http es el cliente HTTP recomendado para Dart y Flutter. Proporciona una API sencilla basada en Future para GET, POST, subidas multipart y streaming. Instálalo con dart pub add http. Funciona en todas las plataformas de Dart: móvil, web y servidor. curl2code lo utiliza como predeterminado para las conversiones de Dart.
http vs dio vs HttpClient — ¿cuál debería usar?
http es simple y ligero — ideal para solicitudes básicas. dio añade interceptores, FormData, progreso de descarga y cancelación. HttpClient (dart:io) es de nivel más bajo y está integrado, pero es más verboso. Para aplicaciones Flutter que necesiten interceptores, elige dio. Para clientes móviles similares, consulta curl a Kotlin o curl a Swift.
¿Cómo manejar la autenticación en Dart?
Pasa los encabezados a la solicitud: http.get(url, headers: { "Authorization": "Bearer $token" }). Para autenticación Basic, codifica con base64Encode(utf8.encode("$user:$pass")). curl2code convierte los flags -u y -H 'Authorization' a código Dart con encabezados correctamente tipados.
¿Cómo enviar datos de formulario multipart en Dart?
Usa http.MultipartRequest: crea la solicitud, añade campos con request.fields['key'] = 'value' y archivos con request.files.add(await http.MultipartFile.fromPath('file', path)). Luego envíala con request.send(). curl2code convierte los flags -F a este patrón.
¿Cómo manejar errores HTTP en Dart?
El paquete http no lanza excepciones en errores HTTP — comprueba response.statusCode manualmente. Envuelve las llamadas en try/catch para SocketException (errores de red) y TimeoutException. Usa http.Client con close() para una limpieza adecuada de recursos en aplicaciones de larga duración.
¿Cómo usar async/await con Dart HTTP?
Todos los métodos HTTP de Dart devuelven un Future — usa final response = await http.get(Uri.parse(url)). El async/await de Dart está integrado en el lenguaje. Para solicitudes en paralelo, usa Future.wait([request1, request2]). Para patrones asíncronos similares, consulta curl a TypeScript o curl a Swift.
¿Cómo establecer tiempos de espera en Dart?
Usa el método .timeout() en cualquier Future: http.get(url).timeout(Duration(seconds: 30)). Esto lanza una TimeoutException cuando se excede. Para más control, crea un http.Client y configúralo a través del HttpClient subyacente de dart:io con connectionTimeout.
¿Cómo usar un proxy en Dart?
Usa HttpClient de dart:io: HttpClient()..findProxy = (uri) => 'PROXY proxy:8080'. Para el paquete http, crea un IOClient personalizado que envuelva al HttpClient configurado. Dart también respeta las variables de entorno HTTP_PROXY y NO_PROXY.
¿Cómo enviar una solicitud POST con un cuerpo JSON en Dart?
Convierte un comando curl POST como curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL a Dart usando curl2code. El código generado utiliza http.post(uri, body: jsonEncode(data), headers: {'Content-Type': 'application/json'}). curl2code detecta automáticamente los flags -d/--data con contenido JSON y establece el encabezado Content-Type adecuado en el código de http.
¿Cómo añadir autorización con token Bearer en Dart?
Pasa curl -H "Authorization: Bearer YOUR_TOKEN" URL a curl2code y este generará código de http con el encabezado de autorización: headers: {'Authorization': 'Bearer YOUR_TOKEN'}. curl2code detecta tokens Bearer tanto en los flags -H "Authorization: Bearer ..." como en --oauth2-bearer. Para Basic auth, utiliza -u user:pass.
¿Cómo configurar el encabezado Content-Type en Dart?
curl2code convierte curl -H "Content-Type: application/json" URL a código de http con el encabezado correcto: headers: {'Content-Type': 'application/json'}. Para los datos de -d, curl utiliza por defecto application/x-www-form-urlencoded; para subidas de formularios con -F, utiliza multipart/form-data. curl2code mapea cada uno a la API de http correcta.
Enlaces útiles
Guías de curl
Códigos de error de curl
Busca cualquier código de salida de curl — causas, soluciones y consejos de depuración.
Descargar archivos con curl
Guarda archivos con -o, -O, sigue redirecciones, reanuda descargas y más.
SSL, TLS y proxy
Configura certificados, versiones de TLS, proxies HTTP/SOCKS y DNS personalizado.