Μετατροπή curl σε JavaScript
Το curl2code μετατρέπει εντολές curl σε κώδικα JavaScript χρησιμοποιώντας το εγγενές fetch API. Όλα εκτελούνται τοπικά στο πρόγραμμα περιήγησής σας μέσω WebAssembly για πλήρη ιδιωτικότητα. Αν χρειάζεστε κώδικα Node.js για την πλευρά του διακομιστή, δοκιμάστε τον μετατροπέα curl σε Node.js. Για ασφάλεια τύπων, δείτε τον μετατροπέα curl σε TypeScript. Παρακάτω υπάρχουν πρακτικά παραδείγματα για κοινά μοτίβα HTTP.
Πώς να αντιγράψετε το curl από το πρόγραμμα περιήγησής σας
- 1
Ανοίξτε τα DevTools
Πατήστε F12 ή Ctrl+Shift+I για να ανοίξετε τα εργαλεία προγραμματιστή του προγράμματος περιήγησης.
- 2
Μεταβείτε στην καρτέλα Network
Κάντε κλικ στην καρτέλα Network και εκτελέστε την ενέργεια που ενεργοποιεί το αίτημα HTTP.
- 3
Αντιγραφή ως cURL
Κάντε δεξί κλικ στο αίτημα → Copy → Copy as cURL. Στη συνέχεια, επικολλήστε το παραπάνω.
Συχνές Ερωτήσεις
Τι είναι το Fetch API;
Το Fetch API είναι μια σύγχρονη διεπαφή βασισμένη σε υποσχέσεις (promises), ενσωματωμένη σε όλα τα προγράμματα περιήγησης για την πραγματοποίηση αιτημάτων HTTP. Αντικαθιστά το παλαιότερο XMLHttpRequest με ένα καθαρότερο και πιο ισχυρό API. Το Fetch υποστηρίζει streaming, αντικείμενα request/response, CORS και ενσωματώνεται φυσικά με το async/await. Δεν απαιτείται εγκατάσταση — είναι διαθέσιμο παγκοσμίως. Το curl2code χρησιμοποιεί το Fetch ως την προεπιλεγμένη έξοδο για μετατροπές JavaScript.
Fetch vs XMLHttpRequest vs jQuery.ajax — ποιο πρέπει να χρησιμοποιήσω;
Το Fetch είναι το σύγχρονο πρότυπο — χρησιμοποιήστε το για νέα έργα. Το XMLHttpRequest είναι παλαιού τύπου αλλά εξακολουθεί να λειτουργεί παντού και υποστηρίζει εγγενώς συμβάντα προόδου. Το jQuery.ajax προσθέτει ευκολία εάν το jQuery υπάρχει ήδη στο έργο σας. Για JavaScript στην πλευρά του διακομιστή, δείτε τον μετατροπέα curl σε Node.js. Για ασφάλεια τύπων, δοκιμάστε το curl σε TypeScript.
Πώς γίνεται ο χειρισμός της ταυτοποίησης με το Fetch;
Περάστε μια κεφαλίδα Authorization στην επιλογή headers: fetch(url, { headers: { "Authorization": "Bearer token" } }). Για Basic auth, κωδικοποιήστε τα διαπιστευτήρια με btoa(user + ':' + pass). Το curl2code ανιχνεύει αυτόματα τις σημαίες -u και -H 'Authorization: ...'.
Πώς στέλνω δεδομένα φόρμας multipart με το Fetch;
Δημιουργήστε ένα αντικείμενο FormData και περάστε το ως σώμα: fetch(url, { method: "POST", body: formData }). Μην ορίζετε το Content-Type χειροκίνητα — το πρόγραμμα περιήγησης προσθέτει αυτόματα το όριο multipart. Το curl2code μετατρέπει τις σημαίες -F σε FormData.
Πώς γίνεται ο χειρισμός σφαλμάτων με το Fetch;
Το Fetch απορρίπτει την υπόσχεση μόνο σε αποτυχίες δικτύου, όχι σε σφάλματα HTTP. Πάντα να ελέγχετε το response.ok ή το response.status πριν διαβάσετε το σώμα. Τοποθετήστε τις κλήσεις σε try/catch με async/await για να χειριστείτε τόσο τα σφάλματα δικτύου όσο και τα σφάλματα ανάλυσης σε ένα σημείο.
Πώς χρησιμοποιείται το async/await με το Fetch;
Το Fetch επιστρέφει ένα Promise, οπότε χρησιμοποιήστε const response = await fetch(url) ακολουθούμενο από const data = await response.json(). Τοποθετήστε το σε ένα μπλοκ try/catch για χειρισμό σφαλμάτων. Αυτό είναι πιο καθαρό από τις αλυσίδες .then() και είναι το συνιστώμενο μοτίβο για τη σύγχρονη JavaScript.
Πώς ορίζεται ένα χρονικό όριο για αιτήματα Fetch;
Χρησιμοποιήστε το AbortController: δημιουργήστε έναν ελεγκτή, περάστε το { signal: controller.signal } στο fetch και καλέστε το controller.abort() μετά από μια καθυστέρηση με το setTimeout. Τα σύγχρονα προγράμματα περιήγησης υποστηρίζουν επίσης το AbortSignal.timeout(5000) ως μια απλούστερη λύση μιας γραμμής. Η σημαία --max-time του curl αντιστοιχίζεται σε αυτό το μοτίβο.
Πώς αντιμετωπίζονται τα ζητήματα CORS με το Fetch;
Το CORS επιβάλλεται από το πρόγραμμα περιήγησης, όχι από το ίδιο το Fetch. Ορίστε mode: 'cors' (η προεπιλογή) και βεβαιωθείτε ότι ο διακομιστής στέλνει τις σωστές κεφαλίδες Access-Control-Allow-Origin. Για διαπιστευτήρια (cookies), προσθέστε credentials: 'include'. Το CORS δεν ισχύει για κώδικα στην πλευρά του διακομιστή — για αυτό, δείτε τον μετατροπέα curl σε Node.js.
Πώς να στείλετε ένα POST αίτημα με JSON σώμα στη JavaScript;
Μετατρέψτε μια curl POST εντολή όπως curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL σε JavaScript χρησιμοποιώντας το curl2code. Ο παραγόμενος κώδικας χρησιμοποιεί fetch(url, { method: 'POST', body: JSON.stringify(data), headers: {'Content-Type': 'application/json'} }). Το curl2code εντοπίζει αυτόματα τα -d/--data flags με JSON περιεχόμενο και ορίζει την κατάλληλη Content-Type κεφαλίδα στον κώδικα fetch.
Πώς να προσθέσετε εξουσιοδότηση Bearer token στη JavaScript;
Περάστε το curl -H "Authorization: Bearer YOUR_TOKEN" URL στο curl2code και αυτό θα δημιουργήσει κώδικα fetch με την κεφαλίδα εξουσιοδότησης: headers: { 'Authorization': 'Bearer YOUR_TOKEN' }. Το curl2code εντοπίζει τα Bearer tokens τόσο από τα -H "Authorization: Bearer ..." όσο και από τα --oauth2-bearer flags. Για Basic auth, χρησιμοποιήστε το -u user:pass.
Πώς να ορίσετε την κεφαλίδα Content-Type στη JavaScript;
Το curl2code μετατρέπει το curl -H "Content-Type: application/json" URL σε κώδικα fetch με τη σωστή κεφαλίδα: headers: { 'Content-Type': 'application/json' }. Για δεδομένα -d, το curl χρησιμοποιεί από προεπιλογή το application/x-www-form-urlencoded· για μεταφορτώσεις φορμών -F, χρησιμοποιεί το multipart/form-data. Το curl2code αντιστοιχίζει το καθένα στο σωστό fetch API.
Χρήσιμοι σύνδεσμοι
Οδηγοί curl
Κωδικοί σφαλμάτων curl
Αναζητήστε οποιονδήποτε κωδικό εξόδου curl — αιτίες, λύσεις και συμβουλές αποσφαλμάτωσης.
Λήψη αρχείων με curl
Αποθηκεύστε αρχεία με -o, -O, ακολουθήστε ανακατευθύνσεις, συνεχίστε λήψεις και άλλα.
SSL, TLS & Proxy
Ρυθμίστε πιστοποιητικά, εκδόσεις TLS, HTTP/SOCKS proxy και προσαρμοσμένο DNS.