Do curl para o código
Todo comando curl traduz direto para código real
⏱ Estim. ~8 min
01 · Ler
O segredo é o seguinte: curl não é só uma ferramenta de teste. É um guia de tradução.
Todo comando curl que você escreve mapeia 1:1 para uma chamada fetch em JavaScript, uma chamada requests em Python ou qualquer outro HTTP client. Quando a requisição funciona no curl, traduzir para código é mecânico — o Claude Code faz em segundos.
Esse é o fluxo de trabalho de todo engenheiro:
1. Entenda a API (leia a documentação) 2. Teste a requisição no curl (confirme que funciona) 3. Traduza para código (copie para o projeto) 4. Trate a resposta (parse e use os dados)
Pontos-chave
- Flags do curl mapeiam direto para o código: -H → objeto headers, -d → body
- Cole qualquer comando curl funcional no Claude Code: "traduza isso para fetch em JavaScript"
- A tradução é mecânica — o difícil é fazer o curl funcionar, não o código
- Esse fluxo funciona em qualquer linguagem: JS, Python, Go, Ruby etc.
02 · Exemplo de código
A mesma requisição escrita em curl, JavaScript (fetch) e 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
Veja o mapeamento:- URL → primeiro argumento - -H "Key: Value" → objeto headers { 'Key': 'Value' } - -X POST → method: 'POST' - -d '{...}' → body: JSON.stringify({...}) A estrutura é a mesma. Só muda a sintaxe.
03 · Exemplo de código
Uma requisição POST — os mesmos dados em três sintaxes.
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ática real
Escreva um comando curl para pegar os 3 repos públicos atualizados mais recentemente da microsoft no GitHub. Depois peça ao Claude Code para traduzir para JavaScript.
curl "https://api.github.com/users/microsoft/repos?sort=updated&per_page=3"
05 · Quiz
Ao traduzir para fetch em JavaScript, qual flag do curl corresponde ao objeto 'headers'?
- -H (header)
- -d (data)
- -X (method)
- -o (output)
06 · Preencher
A flag do curl -d '{"name": "test"}' corresponde à propriedade _____ do objeto de opções do fetch em JavaScript.
07 · Modelo de prompt
Quando o seu curl estiver funcionando, use este prompt para pedir ao Claude Code que traduza para código.
Traduza este comando curl em uma função async JavaScript que retorne o JSON parseado:
curl "https://api.github.com/users/microsoft/repos?sort=updated&per_page=3"
A função deve se chamar `getMicrosoftRepos` e tratar erros adequadamente.
08 · Quiz
No fetch do JavaScript, qual propriedade substitui a flag -d do curl?
09 · Preencher
A flag do curl -H "Key: Value" corresponde ao objeto _____ em uma chamada fetch no JavaScript.
Outras lições deste capítulo
⚠ A experiência interativa completa precisa de JavaScript. Ative-o e recarregue a página.
※ Este é um projeto educacional independente — não é um produto oficial da Anthropic. Claude™ é uma marca registrada da Anthropic, PBC.