cURL Converter: cURL σε fetch, Python, Axios κ.ά.

Επικολλήστε μια εντολή curl, για παράδειγμα αντιγραμμένη από τα DevTools του browser, και πάρτε έτοιμο κώδικα σε 8 γλώσσες. Μετατρέπονται headers, σώματα JSON, φόρμες, ανεβάσματα αρχείων, αυθεντικοποίηση και cookies.

Τρέχει στον browser σαςΧωρίς εγγραφήΤίποτα δεν ανεβαίνει

Μετατροπή σε
JavaScript fetch

    

    Πώς να χρησιμοποιήσετε: cURL Converter

    1. Αντιγράψτε ένα αίτημα ως cURL: στα DevTools του Chrome ή του Firefox, κάντε δεξί κλικ σε ένα αίτημα στην καρτέλα Network → Copy → Copy as cURL.
    2. Επικολλήστε το στο πεδίο εισόδου. Υποστηρίζονται εντολές πολλών γραμμών με \, συνέχειες ^ των Windows και strings $'…'.
    3. Διαλέξτε τον στόχο: JavaScript fetch, Axios, Node.js, Python requests, Python httpx, Go, PHP ή HTTPie.
    4. Διαβάστε τις προειδοποιήσεις κάτω από την έξοδο. Αναφέρουν επιλογές που δεν έχουν αντίστοιχο στη γλώσσα-στόχο.
    5. Αντιγράψτε τον κώδικα ή κατεβάστε τον ως αρχείο.

    Γιατί να μετατρέψετε εντολές curl σε κώδικα;

    Το curl είναι η κοινή γλώσσα του HTTP. Η τεκμηρίωση των APIs δίνει παραδείγματα σε curl, τα DevTools των browsers εξάγουν αιτήματα ως curl και οι ομάδες υποστήριξης στέλνουν αναπαραγωγές ως curl. Όταν θέλετε αυτό το αίτημα μέσα σε μια εφαρμογή, πρέπει να το ξαναγράψετε με το χέρι: να μεταφέρετε κάθε -H σε ένα αντικείμενο headers, να κάνετε το -d σώμα αιτήματος, να μετατρέψετε το -u σε basic auth και να θυμάστε ότι το -G μεταφέρει τα δεδομένα στο query string. Αυτός ο converter κάνει τη μετάφραση για εσάς και παράγει κώδικα που επικολλάτε κατευθείαν σε ένα project.

    Υποστηριζόμενες επιλογές curl

    ΕπιλογήΜετατρέπεται σε
    -X, -I, -GΜέθοδος HTTP (το POST συνάγεται όταν υπάρχει σώμα)
    -H, -A, -e, -bHeaders, User-Agent, Referer και cookies
    -d, --data-raw, --data-binary, --data-urlencode, --jsonΣώμα αιτήματος: αντικείμενα JSON, πεδία φόρμας ή ακατέργαστο κείμενο
    -FMultipart form data, μαζί με ανεβάσματα @file
    -u, --oauth2-bearerBasic auth ή Bearer token
    -k, -L, -m, -x, --compressedΕπαλήθευση TLS, ανακατευθύνσεις, timeout, proxy και συμπίεση

    Τα σώματα JSON γίνονται πραγματικά αντικείμενα

    Όταν το αίτημα στέλνει JSON (header Content-Type: application/json, --json ή σώμα που αναλύεται ως JSON), ο converter παράγει εγγενείς δομές δεδομένων αντί για string με escapes: JSON.stringify({...}) για το fetch, απλό αντικείμενο για το Axios και json= με Python dict (True, False, None) για τα requests και httpx. Έτσι το payload επεξεργάζεται και γεμίζει με μεταβλητές εύκολα.

    Διαφορές που πρέπει να έχετε υπόψη

    Οι browsers δεν μπορούν να απενεργοποιήσουν τον έλεγχο πιστοποιητικών ή να στείλουν ένα μεμονωμένο αίτημα μέσω proxy, οπότε τα -k και -x εμφανίζονται μόνο ως σχόλια στον κώδικα fetch για browser. Το curl δεν ακολουθεί ανακατευθύνσεις αν δεν δώσετε -L, ενώ τα fetch, requests και Go τις ακολουθούν από προεπιλογή. Ένα σώμα που στέλνεται με -d χωρίς Content-Type κωδικοποιείται από το curl ως φόρμα· αν μοιάζει με JSON, ο converter το στέλνει ως JSON και σας το λέει με μια προειδοποίηση.

    Συχνές ερωτήσεις

    Αποστέλλεται η εντολή curl μου σε server;
    Όχι. Η ανάλυση και η παραγωγή κώδικα τρέχουν εξ ολοκλήρου στον browser σας. Οι εντολές που αντιγράφονται από τα DevTools συχνά περιέχουν cookies και tokens, γι' αυτό τίποτα δεν ανεβαίνει ούτε αποθηκεύεται.
    Πώς αντιγράφω ένα αίτημα ως cURL από το Chrome;
    Ανοίξτε τα DevTools (F12), πηγαίνετε στην καρτέλα Network, κάντε δεξί κλικ στο αίτημα και επιλέξτε Copy → Copy as cURL (bash). Η παραλλαγή cmd για Windows δουλεύει επίσης εδώ.
    Υποστηρίζει ανεβάσματα αρχείων;
    Ναι. Το -F name=@file γίνεται FormData σε JavaScript, dict files= σε Python, mime/multipart σε Go και CURLFile σε PHP. Τα -d @file και -T file διαβάζουν το σώμα του αιτήματος από αρχείο.
    Τι γίνεται με τις επιλογές που δεν αναγνωρίζει ο converter;
    Εμφανίζονται ως προειδοποιήσεις κάτω από την έξοδο, ώστε τίποτα να μη χάνεται σιωπηλά. Σημαίες που αφορούν μόνο την έξοδο, όπως -s, -v ή -o, αγνοούνται επειδή δεν αλλάζουν το αίτημα.
    Να χρησιμοποιήσω requests ή httpx στην Python;
    Το requests είναι η καθιερωμένη επιλογή για σύγχρονα scripts. Το httpx έχει σχεδόν ίδιο API, προσθέτει HTTP/2 και υποστήριξη async και δεν ακολουθεί ανακατευθύνσεις αν δεν του το ζητήσετε, κάτι που μοιάζει περισσότερο με το curl.

    Σχετικά εργαλεία