cURL konverter: cURL → fetch, Python, Axios és más

Illessz be egy curl parancsot, például egyet a böngésző DevToolsából, és 8 nyelven kapsz azonnal futtatható kódot. A headerek, JSON bodyk, űrlapok, fájlfeltöltések, hitelesítés és sütik is konvertálódnak.

A böngésződben futNincs regisztrációNincs feltöltés

Konvertálás erre
JavaScript fetch

    

    Hogyan használd: cURL konverter

    1. Másolj ki egy kérést cURL-ként: a Chrome vagy Firefox DevToolsban a Network fülön kattints jobb gombbal egy kérésre → Copy → Copy as cURL.
    2. Illeszd be a bemeneti mezőbe. A \ jellel tördelt többsoros parancsok, a Windows-os ^ folytatások és a $'…' stringek is támogatottak.
    3. Válaszd ki a célt: JavaScript fetch, Axios, Node.js, Python requests, Python httpx, Go, PHP vagy HTTPie.
    4. Olvasd el a kimenet alatti figyelmeztetéseket. Ezek felsorolják azokat az opciókat, amelyeknek nincs megfelelője a célnyelvben.
    5. Másold ki a kódot, vagy töltsd le fájlként.

    Miért érdemes curl parancsokat kóddá alakítani?

    A curl a HTTP közös nyelve. Az API-dokumentációk curl példákat mutatnak, a böngésző DevTools curl-ként exportálja a kéréseket, a supportcsapatok pedig curl-lel küldik a reprodukciókat. Ha ezt a kérést egy alkalmazásban szeretnéd használni, kézzel kell átírnod: minden -H egy headers objektumba kerül, a -d bodyvá válik, a -u basic authtá, és észben kell tartani, hogy a -G a query stringbe teszi az adatokat. Ez a konverter elvégzi helyetted a fordítást, és olyan kódot ad, amelyet egyből beilleszthetsz a projektedbe.

    Támogatott curl opciók

    OpcióMivé alakul
    -X, -I, -GHTTP metódus (body esetén POST-ot feltételez)
    -H, -A, -e, -bHeaderek, User-Agent, Referer és sütik
    -d, --data-raw, --data-binary, --data-urlencode, --jsonKérés body: JSON objektumok, űrlapmezők vagy nyers szöveg
    -FMultipart űrlapadat, @file feltöltésekkel együtt
    -u, --oauth2-bearerBasic auth vagy Bearer token
    -k, -L, -m, -x, --compressedTLS-ellenőrzés, átirányítások, időtúllépés, proxy és tömörítés

    A JSON bodykból valódi objektumok lesznek

    Ha a kérés JSON-t küld (Content-Type: application/json header, --json, vagy JSON-ként értelmezhető body), a konverter escape-elt string helyett natív adatszerkezeteket állít elő: fetch esetén JSON.stringify({...}), Axiosnál egyszerű objektum, requests és httpx esetén pedig json= egy Python dicttel (True, False, None). Így a payload könnyen szerkeszthető és változókkal feltölthető.

    Különbségek, amelyekre figyelj

    A böngészők nem tudják kikapcsolni a tanúsítvány-ellenőrzést, és egy-egy kérést sem tudnak proxyn át küldeni, ezért a -k és a -x csak kommentként jelenik meg a böngészős fetch kódban. A curl csak a -L megadásával követi az átirányításokat, míg a fetch, a requests és a Go alapból követi őket. A -d opcióval, Content-Type nélkül küldött bodyt a curl űrlapként kódolja; ha JSON-nak tűnik, a konverter JSON-ként küldi, és ezt egy figyelmeztetésben jelzi.

    Gyakran ismételt kérdések

    Elküldjük a curl parancsomat egy szerverre?
    Nem. Az elemzés és a kódgenerálás teljes egészében a böngésződben fut. A DevToolsból másolt parancsok gyakran tartalmaznak sütiket és tokeneket, ezért semmit sem töltünk fel és nem tárolunk.
    Hogyan másolhatok ki egy kérést cURL-ként a Chrome-ból?
    Nyisd meg a DevToolst (F12), lépj a Network fülre, kattints jobb gombbal a kérésre, és válaszd a Copy → Copy as cURL (bash) lehetőséget. A Windows-os cmd változat is működik itt.
    Kezeli a fájlfeltöltéseket?
    Igen. A -F name=@file JavaScriptben FormData, Pythonban files= dict, Go-ban mime/multipart, PHP-ban pedig CURLFile lesz. A -d @file és a -T file fájlból olvassa a kérés bodyját.
    Mi történik azokkal az opciókkal, amelyeket a konverter nem ismer?
    Figyelmeztetésként jelennek meg a kimenet alatt, így semmi sem vész el csendben. A csak a kimenetet érintő flageket, például a -s, -v vagy -o opciót, figyelmen kívül hagyjuk, mert nem változtatják meg a kérést.
    Pythonban requests-et vagy httpx-et használjak?
    A requests a szinkron scriptek régóta bevett alapválasztása. A httpx API-ja szinte azonos, emellett HTTP/2-t és async támogatást is ad, és csak kérésre követi az átirányításokat, ami jobban hasonlít a curl viselkedésére.

    Kapcsolódó eszközök