Μετατροπή curl σε Dart
Μετατρέψτε εντολές curl σε κώδικα Dart χρησιμοποιώντας το πακέτο http. Το curl2code εκτελείται εξ ολοκλήρου στο πρόγραμμα περιήγησής σας μέσω WebAssembly — τα δεδομένα σας παραμένουν ιδιωτικά. Για Kotlin, δοκιμάστε τον μετατροπέα curl σε Kotlin. Για Swift, δείτε το curl σε Swift. Παρακάτω υπάρχουν έτοιμα προς χρήση παραδείγματα Dart για Flutter.
Πώς να αντιγράψετε το curl από το πρόγραμμα περιήγησής σας
- 1
Ανοίξτε τα DevTools
Πατήστε F12 ή Ctrl+Shift+I για να ανοίξετε τα εργαλεία προγραμματιστή του προγράμματος περιήγησης.
- 2
Μεταβείτε στην καρτέλα Network
Κάντε κλικ στην καρτέλα Network και εκτελέστε την ενέργεια που ενεργοποιεί το αίτημα HTTP.
- 3
Αντιγραφή ως cURL
Κάντε δεξί κλικ στο αίτημα → Copy → Copy as cURL. Στη συνέχεια, επικολλήστε το παραπάνω.
Συχνές Ερωτήσεις
Τι είναι το πακέτο http του Dart;
Το πακέτο http είναι ο προτεινόμενος HTTP client για Dart και Flutter. Παρέχει ένα απλό API βασισμένο σε Future για GET, POST, μεταφορτώσεις multipart και streaming. Εγκαταστήστε το με dart pub add http. Λειτουργεί σε όλες τις πλατφόρμες Dart — mobile, web και server. Το curl2code το χρησιμοποιεί ως προεπιλογή για τις μετατροπές Dart.
http vs dio vs HttpClient — ποιο πρέπει να χρησιμοποιήσω;
Το http είναι απλό και ελαφρύ — ιδανικό για βασικά αιτήματα. Το dio προσθέτει interceptors, FormData, πρόοδο λήψης και ακύρωση. Το HttpClient (dart:io) είναι χαμηλότερου επιπέδου και ενσωματωμένο, αλλά πιο φλύαρο. Για εφαρμογές Flutter που χρειάζονται interceptors, επιλέξτε το dio. Για παρόμοιους mobile clients, δείτε το curl σε Kotlin ή curl σε Swift.
Πώς γίνεται ο χειρισμός του authentication στο Dart;
Περάστε κεφαλίδες στο αίτημα: http.get(url, headers: { "Authorization": "Bearer $token" }). Για Basic auth, κωδικοποιήστε με base64Encode(utf8.encode("$user:$pass")). Το curl2code μετατρέπει τα flags -u και -H 'Authorization' σε κώδικα Dart με κεφαλίδες σωστού τύπου.
Πώς στέλνω multipart form data στο Dart;
Χρησιμοποιήστε το http.MultipartRequest: δημιουργήστε το αίτημα, προσθέστε πεδία με request.fields['key'] = 'value' και αρχεία με request.files.add(await http.MultipartFile.fromPath('file', path)). Στη συνέχεια, στείλτε το με request.send(). Το curl2code μετατρέπει τα flags -F σε αυτό το μοτίβο.
Πώς γίνεται ο χειρισμός σφαλμάτων HTTP στο Dart;
Το πακέτο http δεν πετάει εξαιρέσεις στα σφάλματα HTTP — ελέγξτε το response.statusCode χειροκίνητα. Περιβάλλετε τις κλήσεις σε try/catch για SocketException (σφάλματα δικτύου) και TimeoutException. Χρησιμοποιήστε το http.Client με close() για σωστό καθαρισμό πόρων σε εφαρμογές μεγάλης διάρκειας.
Πώς χρησιμοποιείται το async/await με το Dart HTTP;
Όλες οι μέθοδοι HTTP του Dart επιστρέφουν Future — χρησιμοποιήστε το final response = await http.get(Uri.parse(url)). Το async/await του Dart είναι ενσωματωμένο στη γλώσσα. Για παράλληλα αιτήματα, χρησιμοποιήστε το Future.wait([request1, request2]). Για παρόμοια async μοτίβα, δείτε το curl σε TypeScript ή curl σε Swift.
Πώς ορίζονται τα timeouts στο Dart;
Χρησιμοποιήστε τη μέθοδο .timeout() σε οποιοδήποτε Future: http.get(url).timeout(Duration(seconds: 30)). Αυτό πετάει TimeoutException όταν ξεπεραστεί ο χρόνος. Για περισσότερο έλεγχο, δημιουργήστε ένα http.Client και ρυθμίστε το μέσω του υποκείμενου HttpClient από το dart:io με το connectionTimeout.
Πώς χρησιμοποιείται ένας proxy στο Dart;
Χρησιμοποιήστε το HttpClient από το dart:io: HttpClient()..findProxy = (uri) => 'PROXY proxy:8080'. Για το πακέτο http, δημιουργήστε έναν προσαρμοσμένο IOClient που περιβάλλει το ρυθμισμένο HttpClient. Το Dart σέβεται επίσης τις μεταβλητές περιβάλλοντος HTTP_PROXY και NO_PROXY.
Πώς να στείλετε ένα POST αίτημα με JSON σώμα στη Dart;
Μετατρέψτε μια curl POST εντολή όπως curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL σε Dart χρησιμοποιώντας το curl2code. Ο παραγόμενος κώδικας χρησιμοποιεί http.post(uri, body: jsonEncode(data), headers: {'Content-Type': 'application/json'}). Το curl2code εντοπίζει αυτόματα τα -d/--data flags με JSON περιεχόμενο και ορίζει την κατάλληλη Content-Type κεφαλίδα στον κώδικα http.
Πώς να προσθέσετε εξουσιοδότηση Bearer token στη Dart;
Περάστε το curl -H "Authorization: Bearer YOUR_TOKEN" URL στο curl2code και αυτό θα δημιουργήσει κώδικα http με την κεφαλίδα εξουσιοδότησης: headers: {'Authorization': 'Bearer YOUR_TOKEN'}. Το curl2code εντοπίζει τα Bearer tokens τόσο από τα -H "Authorization: Bearer ..." όσο και από τα --oauth2-bearer flags. Για Basic auth, χρησιμοποιήστε το -u user:pass.
Πώς να ορίσετε την κεφαλίδα Content-Type στη Dart;
Το curl2code μετατρέπει το curl -H "Content-Type: application/json" URL σε κώδικα http με τη σωστή κεφαλίδα: headers: {'Content-Type': 'application/json'}. Για δεδομένα -d, το curl χρησιμοποιεί από προεπιλογή το application/x-www-form-urlencoded· για μεταφορτώσεις φορμών -F, χρησιμοποιεί το multipart/form-data. Το curl2code αντιστοιχίζει το καθένα στο σωστό http API.
Χρήσιμοι σύνδεσμοι
Οδηγοί curl
Κωδικοί σφαλμάτων curl
Αναζητήστε οποιονδήποτε κωδικό εξόδου curl — αιτίες, λύσεις και συμβουλές αποσφαλμάτωσης.
Λήψη αρχείων με curl
Αποθηκεύστε αρχεία με -o, -O, ακολουθήστε ανακατευθύνσεις, συνεχίστε λήψεις και άλλα.
SSL, TLS & Proxy
Ρυθμίστε πιστοποιητικά, εκδόσεις TLS, HTTP/SOCKS proxy και προσαρμοσμένο DNS.