Convertitore cURL: da cURL a fetch, Python, Axios e altro

Incolla un comando curl, ad esempio copiato dai DevTools del browser, e ottieni codice pronto all'uso in 8 linguaggi. Header, body JSON, form, upload di file, autenticazione e cookie vengono tutti convertiti.

Funziona nel browserNessuna registrazioneNessun caricamento

Converti in
JavaScript fetch

    

    Come usare Convertitore cURL

    1. Copia una richiesta come cURL: nei DevTools di Chrome o Firefox, clic destro su una richiesta nella scheda Network → Copy → Copy as cURL.
    2. Incollala nel riquadro di input. Sono supportati comandi su più righe con \, le continuazioni ^ di Windows e le stringhe $'…'.
    3. Scegli il target: JavaScript fetch, Axios, Node.js, Python requests, Python httpx, Go, PHP o HTTPie.
    4. Leggi gli eventuali avvisi sotto l'output. Elencano le opzioni che non hanno un equivalente nel linguaggio di destinazione.
    5. Copia il codice o scaricalo come file.

    Perché convertire i comandi curl in codice?

    curl è la lingua franca dell'HTTP. La documentazione delle API mostra esempi in curl, i DevTools del browser esportano le richieste come curl e i team di supporto inviano le riproduzioni in curl. Quando vuoi quella richiesta dentro un'applicazione devi riscriverla a mano: spostare ogni -H in un oggetto di header, trasformare -d in un body, convertire -u in basic auth e ricordare che -G sposta i dati nella query string. Questo convertitore fa la traduzione per te e produce codice da incollare direttamente nel progetto.

    Opzioni curl supportate

    OpzioneConvertita in
    -X, -I, -GMetodo HTTP (POST viene dedotto quando c'è un body)
    -H, -A, -e, -bHeader, User-Agent, Referer e cookie
    -d, --data-raw, --data-binary, --data-urlencode, --jsonBody della richiesta: oggetti JSON, campi form o testo grezzo
    -FDati form multipart, inclusi gli upload @file
    -u, --oauth2-bearerBasic auth o un token Bearer
    -k, -L, -m, -x, --compressedVerifica TLS, redirect, timeout, proxy e compressione

    I body JSON diventano oggetti veri

    Quando la richiesta invia JSON (un header Content-Type: application/json, --json o un body che risulta JSON valido), il convertitore genera strutture dati native invece di una stringa con escape: JSON.stringify({...}) per fetch, un oggetto semplice per Axios e json= con un dict Python (True, False, None) per requests e httpx. Così il payload è facile da modificare e da riempire con variabili.

    Differenze da tenere presenti

    I browser non possono disattivare i controlli dei certificati né instradare una singola richiesta tramite un proxy, quindi -k e -x compaiono solo come commenti nel codice fetch per browser. curl non segue i redirect a meno che tu non passi -L, mentre fetch, requests e Go li seguono per impostazione predefinita. Un body inviato con -d senza Content-Type viene codificato da curl come form; se sembra JSON, il convertitore lo invia come JSON e te lo segnala con un avviso.

    Domande frequenti

    Il mio comando curl viene inviato a un server?
    No. Il parsing e la generazione del codice avvengono interamente nel tuo browser. I comandi copiati dai DevTools contengono spesso cookie e token, quindi nulla viene caricato o salvato.
    Come copio una richiesta come cURL da Chrome?
    Apri i DevTools (F12), vai nella scheda Network, fai clic destro sulla richiesta e scegli Copy → Copy as cURL (bash). Anche la variante cmd per Windows funziona qui.
    Gestisce gli upload di file?
    Sì. -F name=@file diventa FormData in JavaScript, un dict files= in Python, mime/multipart in Go e CURLFile in PHP. -d @file e -T file leggono il body della richiesta da un file.
    Cosa succede alle opzioni che il convertitore non conosce?
    Vengono elencate come avvisi sotto l'output, così nulla viene scartato in silenzio. I flag che riguardano solo l'output, come -s, -v o -o, vengono ignorati perché non cambiano la richiesta.
    In Python conviene usare requests o httpx?
    requests è da tempo la scelta predefinita per gli script sincroni. httpx ha un'API quasi identica, aggiunge il supporto a HTTP/2 e async e non segue i redirect se non glielo chiedi, comportandosi in modo più simile a curl.

    Strumenti correlati