De curl al código
Cada comando curl se traduce directo a código real
⏱ Estim. ~8 min
01 · Leer
Acá está el secreto: curl no es solo una herramienta de prueba. Es una guía de traducción.
Cada comando curl que escribes se mapea 1:1 a una llamada fetch en JavaScript, a una llamada requests en Python o a cualquier otro cliente HTTP. Una vez que la solicitud funciona en curl, traducirla a código es mecánico — Claude Code lo hace en segundos.
Este es el flujo de trabajo de todo ingeniero:
1. Entender la API (leer la documentación) 2. Probar la solicitud con curl (confirmar que funciona) 3. Traducir a código (copiar al proyecto) 4. Procesar la respuesta (parsear y usar los datos)
Puntos clave
- Los flags de curl se mapean directo al código: -H → objeto headers, -d → body
- Cualquier comando curl que funciona se pega en Claude Code: 'traduce esto a fetch de JavaScript'
- La traducción es mecánica — lo difícil es lograr que curl funcione, no el código
- Este flujo sirve para cualquier lenguaje: JS, Python, Go, Ruby, etc.
02 · Ejemplo de código
La misma solicitud escrita en tres formas: curl, JavaScript (fetch) y Python (requests).
curl
curl https://api.github.com/users/torvalds \
-H "Accept: application/json"
JavaScript (fetch)
const response = await fetch('https://api.github.com/users/torvalds', {
headers: {
'Accept': 'application/json'
}
});
const data = await response.json();
console.log(data.name); // 'Linus Torvalds'
Python (requests)
import requests
response = requests.get(
'https://api.github.com/users/torvalds',
headers={'Accept': 'application/json'}
)
data = response.json()
print(data['name']) # Linus Torvalds
Mira las correspondencias: - URL → primer argumento - -H "Clave: Valor" → objeto headers { 'Clave': 'Valor' } - -X POST → method: 'POST' - -d '{...}' → body: JSON.stringify({...}) La estructura es la misma. La sintaxis cambia.
03 · Ejemplo de código
Una solicitud POST — los mismos datos en tres formas.
curl
curl -X POST https://api.example.com/posts \
-H "Content-Type: application/json" \
-H "Authorization: Bearer MY_TOKEN" \
-d '{"title": "Hello", "body": "World"}'
JavaScript (fetch)
const response = await fetch('https://api.example.com/posts', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer MY_TOKEN'
},
body: JSON.stringify({ title: 'Hello', body: 'World' })
});
const data = await response.json();
Python (requests)
import requests
response = requests.post(
'https://api.example.com/posts',
headers={
'Content-Type': 'application/json',
'Authorization': 'Bearer MY_TOKEN'
},
json={'title': 'Hello', 'body': 'World'}
)
data = response.json()
04 · Práctica real
Escribe un comando curl para obtener los 3 repos públicos actualizados más recientemente de microsoft en GitHub. Después pídele a Claude Code que lo traduzca a JavaScript.
curl "https://api.github.com/users/microsoft/repos?sort=updated&per_page=3"
05 · Quiz
Al traducir a fetch de JavaScript, ¿qué flag de curl corresponde al objeto 'headers'?
- -H (header)
- -d (data)
- -X (method)
- -o (output)
06 · Completar
El flag de curl -d '{"name": "test"}' corresponde a la propiedad _____ en el objeto de opciones de fetch en JavaScript.
07 · Plantilla de prompt
Cuando tu curl funcione, usa este prompt para pedirle a Claude Code que lo traduzca a código.
Traduce este comando curl a una función async de JavaScript que devuelva el JSON parseado:
curl "https://api.github.com/users/microsoft/repos?sort=updated&per_page=3"
Llama a la función `getMicrosoftRepos` y maneja los errores correctamente.
08 · Quiz
En fetch de JavaScript, ¿qué propiedad reemplaza al flag -d de curl?
09 · Completar
El flag de curl -H "Clave: Valor" corresponde al objeto _____ en una llamada fetch de JavaScript.
Otras lecciones de este capítulo
⚠ La experiencia interactiva completa necesita JavaScript. Actívalo y vuelve a cargar la página.
※ Este es un proyecto educativo independiente — no es un producto oficial de Anthropic. Claude™ es una marca registrada de Anthropic, PBC.