cURL Converter: cURL σε fetch, Python, Axios κ.ά.
Επικολλήστε μια εντολή curl, για παράδειγμα αντιγραμμένη από τα DevTools του browser, και πάρτε έτοιμο κώδικα σε 8 γλώσσες. Μετατρέπονται headers, σώματα JSON, φόρμες, ανεβάσματα αρχείων, αυθεντικοποίηση και cookies.
Τρέχει στον browser σαςΧωρίς εγγραφήΤίποτα δεν ανεβαίνει
Πώς να χρησιμοποιήσετε: cURL Converter
- Αντιγράψτε ένα αίτημα ως cURL: στα DevTools του Chrome ή του Firefox, κάντε δεξί κλικ σε ένα αίτημα στην καρτέλα Network → Copy → Copy as cURL.
- Επικολλήστε το στο πεδίο εισόδου. Υποστηρίζονται εντολές πολλών γραμμών με
\, συνέχειες^των Windows και strings$'…'. - Διαλέξτε τον στόχο: JavaScript fetch, Axios, Node.js, Python requests, Python httpx, Go, PHP ή HTTPie.
- Διαβάστε τις προειδοποιήσεις κάτω από την έξοδο. Αναφέρουν επιλογές που δεν έχουν αντίστοιχο στη γλώσσα-στόχο.
- Αντιγράψτε τον κώδικα ή κατεβάστε τον ως αρχείο.
Γιατί να μετατρέψετε εντολές 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, -b | Headers, User-Agent, Referer και cookies |
-d, --data-raw, --data-binary, --data-urlencode, --json | Σώμα αιτήματος: αντικείμενα JSON, πεδία φόρμας ή ακατέργαστο κείμενο |
-F | Multipart form data, μαζί με ανεβάσματα @file |
-u, --oauth2-bearer | Basic 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;
Πώς αντιγράφω ένα αίτημα ως cURL από το Chrome;
Υποστηρίζει ανεβάσματα αρχείων;
-F name=@file γίνεται FormData σε JavaScript, dict files= σε Python, mime/multipart σε Go και CURLFile σε PHP. Τα -d @file και -T file διαβάζουν το σώμα του αιτήματος από αρχείο.Τι γίνεται με τις επιλογές που δεν αναγνωρίζει ο converter;
-s, -v ή -o, αγνοούνται επειδή δεν αλλάζουν το αίτημα.