Convertidor de cURL a Swift (URLSession y async/await)

Pega un comando curl (de la documentación de una API, de Postman o del «Copiar como cURL» del navegador) y obtén el código Swift equivalente con URLSession y async/await: método, cabeceras, cuerpo JSON, parámetros, autenticación básica y formularios multipart.

Comando cURL
Código Swift

    La conversión se hace en tu navegador: el comando (y las claves o tokens que contenga) no se envía a ningún servidor.

    Qué opciones de cURL entiende

    • -X / --request: el método HTTP (si hay cuerpo y no lo indicas, usa POST como cURL).
    • -H / --header, -A, -e, -b: cabeceras, user agent, referer y cookies.
    • -d, --data-raw, --data-binary, --data-urlencode y --json: el cuerpo. Si es JSON, lo formatea.
    • -G: convierte los datos en parámetros de la URL con URLComponents.
    • -u: autenticación básica.
    • -F: formularios multipart, con los archivos marcados para que los cargues tú.

    Antes de usar el código en tu app

    • No dejes tokens ni claves de API escritos en el código: guárdalos en el Keychain o pídelos a tu backend.
    • Decodifica la respuesta con JSONDecoder y tus modelos Codable (puedes generarlos con el convertidor de JSON a Swift).
    • Usa siempre https://: iOS bloquea http:// por App Transport Security.

    Preguntas frecuentes

    ¿Cómo copio una petición como cURL desde el navegador?

    En Chrome o Safari abre las herramientas de desarrollo, ve a la pestaña Red, haz clic derecho sobre la petición y elige «Copiar como cURL».

    ¿Por qué no aparece -L ni –compressed en el código?

    Porque URLSession ya sigue las redirecciones y descomprime gzip de forma automática.

    ¿Funciona con comandos de Windows?

    Está pensado para la sintaxis de bash/zsh (macOS y Linux). Los comandos copiados como «cURL (cmd)» con ^ pueden no interpretarse bien.

    ¿Se envía mi comando a algún servidor?

    No. La conversión se hace en tu navegador, así que tus tokens no salen de tu equipo.

    Herramientas y artículos relacionados