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á

Převést na
JavaScript fetch

    

    Jak používat: Převodník cURL

    1. 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.
    2. Vložte ho do vstupního pole. Podporovány jsou víceřádkové příkazy s \, pokračování Windows ^ i řetězce $'…'.
    3. Zvolte cíl: JavaScript fetch, Axios, Node.js, Python requests, Python httpx, Go, PHP nebo HTTPie.
    4. Přečtěte si případná varování pod výstupem. Uvádějí volby, které v cílovém jazyce nemají ekvivalent.
    5. 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

    VolbaPřevede se na
    -X, -I, -GMetodu HTTP (POST se odvodí, pokud je přítomno tělo)
    -H, -A, -e, -bHlavičky, User-Agent, Referer a cookies
    -d, --data-raw, --data-binary, --data-urlencode, --jsonTělo požadavku: objekty JSON, pole formuláře nebo surový text
    -FData formuláře multipart včetně nahrávání @file
    -u, --oauth2-bearerBasic auth nebo token Bearer
    -k, -L, -m, -x, --compressedOvěř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?
    Ne. Parsování i generování kódu běží celé ve vašem prohlížeči. Příkazy zkopírované z DevTools často obsahují cookies a tokeny, proto se nic neodesílá ani neukládá.
    Jak v Chromu zkopírovat požadavek jako cURL?
    Otevřete DevTools (F12), přejděte na kartu Network, klikněte pravým tlačítkem na požadavek a zvolte Copy → Copy as cURL (bash). Funguje i varianta cmd pro Windows.
    Zvládá nahrávání souborů?
    Ano. -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á?
    Vypíšou se jako varování pod výstupem, takže se nic tiše neztratí. Volby týkající se jen výstupu, jako -s, -v nebo -o, se ignorují, protože požadavek nemění.
    Mám v Pythonu použít requests, nebo httpx?
    requests je dlouholetá výchozí volba pro synchronní skripty. httpx má téměř stejné API, přidává HTTP/2 a podporu async a nesleduje přesměrování, pokud o to nepožádáte, což se chování curl blíží víc.

    Související nástroje