Převodník cURL: cURL na fetch, Python, Axios a další
Vložte příkaz curl, například zkopírovaný z DevTools prohlížeče, a získejte kód připravený ke spuštění v 8 jazycích. Převedou se hlavičky, JSON těla, formuláře, nahrávání souborů, autentizace i cookies.
Běží v prohlížečiBez registraceNic se neodesílá
Jak používat: Převodník cURL
- Zkopírujte požadavek jako cURL: v DevTools Chrome nebo Firefoxu klikněte pravým tlačítkem na požadavek na kartě Network → Copy → Copy as cURL.
- Vložte ho do vstupního pole. Podporovány jsou víceřádkové příkazy s
\, pokračování Windows^i řetězce$'…'. - Zvolte cíl: JavaScript fetch, Axios, Node.js, Python requests, Python httpx, Go, PHP nebo HTTPie.
- Přečtěte si případná varování pod výstupem. Uvádějí volby, které v cílovém jazyce nemají ekvivalent.
- Zkopírujte kód nebo ho stáhněte jako soubor.
Proč převádět příkazy curl na kód?
curl je společný jazyk HTTP. Dokumentace API ukazují příklady jako curl, DevTools prohlížečů exportují požadavky jako curl a podpora posílá reprodukce chyb jako curl. Když takový požadavek chcete v aplikaci, musíte ho přepsat ručně: přesunout každé -H do objektu hlaviček, z -d udělat tělo, z -u basic auth a pamatovat, že -G přesouvá data do query stringu. Tento převodník to udělá za vás a vytvoří kód, který můžete rovnou vložit do projektu.
Podporované volby curl
| Volba | Převede se na |
|---|---|
-X, -I, -G | Metodu HTTP (POST se odvodí, pokud je přítomno tělo) |
-H, -A, -e, -b | Hlavičky, User-Agent, Referer a cookies |
-d, --data-raw, --data-binary, --data-urlencode, --json | Tělo požadavku: objekty JSON, pole formuláře nebo surový text |
-F | Data formuláře multipart včetně nahrávání @file |
-u, --oauth2-bearer | Basic auth nebo token Bearer |
-k, -L, -m, -x, --compressed | Ověření TLS, přesměrování, timeout, proxy a kompresi |
Těla JSON se stanou skutečnými objekty
Když požadavek posílá JSON (hlavička Content-Type: application/json, --json nebo tělo, které se rozparsuje jako JSON), převodník vygeneruje nativní datové struktury místo escapovaného řetězce: JSON.stringify({...}) pro fetch, obyčejný objekt pro Axios a json= se slovníkem Pythonu (True, False, None) pro requests a httpx. Payload se pak snadno upravuje a doplňuje proměnnými.
Rozdíly, na které pamatovat
Prohlížeče neumí vypnout kontrolu certifikátů ani poslat jediný požadavek přes proxy, takže -k a -x se v kódu fetch pro prohlížeč objeví jen jako komentáře. curl nesleduje přesměrování, pokud nepředáte -L, zatímco fetch, requests i Go je sledují ve výchozím stavu. Tělo poslané přes -d bez Content-Type curl kóduje jako formulář; pokud vypadá jako JSON, převodník ho pošle jako JSON a upozorní vás na to ve varování.
Časté dotazy
Odesílá se můj příkaz curl na server?
Jak v Chromu zkopírovat požadavek jako cURL?
Zvládá nahrávání souborů?
-F name=@file se v JavaScriptu stane FormData, v Pythonu slovníkem files=, v Go mime/multipart a v PHP CURLFile. -d @file a -T file čtou tělo požadavku ze souboru.Co se stane s volbami, které převodník nezná?
-s, -v nebo -o, se ignorují, protože požadavek nemění.