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.
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-urlencodey--json: el cuerpo. Si es JSON, lo formatea.-G: convierte los datos en parámetros de la URL conURLComponents.-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
JSONDecodery tus modelosCodable(puedes generarlos con el convertidor de JSON a Swift). - Usa siempre
https://: iOS bloqueahttp://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
- JSON a Swift Codable — genera los modelos para decodificar la respuesta
- JSON Formatter & Validator
- Consumiendo una API REST en Swift 6
- Adiós a Alamofire: capa de red moderna en Swift 6