Μετατροπή curl σε Kotlin

Το curl2code μετατρέπει εντολές curl σε κώδικα Kotlin χρησιμοποιώντας το OkHttp. Η μετατροπή εκτελείται στο πρόγραμμα περιήγησής σας μέσω WebAssembly για πλήρη ιδιωτικότητα. Για Java, δείτε τον μετατροπέα curl σε Java. Για Swift (iOS), δείτε το curl σε Swift. Παρακάτω υπάρχουν πρακτικά παραδείγματα Kotlin.

Πώς να αντιγράψετε το curl από το πρόγραμμα περιήγησής σας

  1. 1

    Ανοίξτε τα DevTools

    Πατήστε F12 ή Ctrl+Shift+I για να ανοίξετε τα εργαλεία προγραμματιστή του προγράμματος περιήγησης.

  2. 2

    Μεταβείτε στην καρτέλα Network

    Κάντε κλικ στην καρτέλα Network και εκτελέστε την ενέργεια που ενεργοποιεί το αίτημα HTTP.

  3. 3

    Αντιγραφή ως cURL

    Κάντε δεξί κλικ στο αίτημα → CopyCopy as cURL. Στη συνέχεια, επικολλήστε το παραπάνω.

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

Τι είναι το Kotlin OkHttp;

Το OkHttp είναι ένας ευρέως χρησιμοποιούμενος HTTP client για Kotlin και Java, που αναπτύχθηκε από την Square. Διαθέτει connection pooling, διαφανές GZIP, προσωρινή αποθήκευση αποκρίσεων και υποστήριξη HTTP/2. Προσθέστε το με implementation("com.squareup.okhttp3:okhttp:4.x"). Είναι η προεπιλεγμένη βιβλιοθήκη που χρησιμοποιεί το curl2code για μετατροπές Kotlin και είναι ο τυπικός HTTP client για Android.

OkHttp vs Ktor Client vs Fuel — ποιο να χρησιμοποιήσω;

Το OkHttp είναι το πρότυπο του κλάδου, ειδικά για Android. Το Ktor Client είναι Kotlin-first με υποστήριξη coroutines και δυνατότητα multiplatform. Το Fuel είναι ελαφρύ με καθαρό Kotlin DSL. Για Android, το OkHttp (συχνά μέσω Retrofit) είναι η προεπιλεγμένη επιλογή. Για σύγκριση JVM, δείτε τον μετατροπέα curl σε Java.

Πώς γίνεται ο χειρισμός του authentication στην Kotlin;

Προσθέστε μια κεφαλίδα: request.addHeader("Authorization", "Bearer $token"). Για Basic auth: χρησιμοποιήστε το εργαλείο Credentials.basic(user, pass). Το OkHttp υποστηρίζει επίσης το interface Authenticator για αυτόματη επανάληψη με διαπιστευτήρια σε αποκρίσεις 401. Το curl2code χειρίζεται αυτόματα τα flags -u και Bearer.

Πώς στέλνω multipart form data στην Kotlin;

Χρησιμοποιήστε το MultipartBody.Builder() του OkHttp: .addFormDataPart("file", filename, fileBody) για αρχεία και .addFormDataPart("key", "value") για πεδία. Ορίστε .setType(MultipartBody.FORM). Το curl2code μετατρέπει τα flags -F στον σωστό κώδικα multipart builder του OkHttp.

Πώς γίνεται ο χειρισμός σφαλμάτων HTTP στην Kotlin;

Ελέγξτε το response.isSuccessful για status 2xx ή διαβάστε το response.code. Το OkHttp πετάει IOException σε αποτυχίες δικτύου. Χρησιμοποιήστε το runCatching { } της Kotlin ή try/catch για καθαρό χειρισμό σφαλμάτων. Πάντα να κλείνετε το σώμα της απόκρισης με ένα block .use { } για να αποφύγετε διαρροές πόρων.

Πώς χρησιμοποιούνται οι coroutines με το OkHttp;

Περιβάλλετε τις blocking κλήσεις του OkHttp σε withContext(Dispatchers.IO) { client.newCall(request).execute() }. Ή χρησιμοποιήστε την επέκταση suspendCancellableCoroutine με το enqueue() για πραγματικό async. Ο Ktor Client έχει ενσωματωμένη εγγενή υποστήριξη coroutines. Για παρόμοια async μοτίβα, δείτε το curl σε Swift (async/await).

Πώς ορίζονται τα timeouts στο Kotlin OkHttp;

Ρυθμίστε τα στον client: OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).writeTimeout(30, TimeUnit.SECONDS).build(). Για επαναλήψεις, προσθέστε έναν interceptor που επαναλαμβάνει την προσπάθεια σε περίπτωση αποτυχίας. Αυτά αντιστοιχούν στα --connect-timeout και --max-time του curl.

Πώς χρησιμοποιείται ένας proxy με το OkHttp;

Ορίστε τον στον client builder: OkHttpClient.Builder().proxy(Proxy(Proxy.Type.HTTP, InetSocketAddress("proxy", 8080))).build(). Για authentication, προσθέστε proxyAuthenticator. Το OkHttp υποστηρίζει επίσης SOCKS proxies με Proxy.Type.SOCKS. Το curl2code μετατρέπει τα flags -x σε αυτή τη διαμόρφωση.

Πώς να στείλετε ένα POST αίτημα με JSON σώμα στην Kotlin;

Μετατρέψτε μια curl POST εντολή όπως curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL σε Kotlin χρησιμοποιώντας το curl2code. Ο παραγόμενος κώδικας χρησιμοποιεί RequestBody.create(MediaType.parse("application/json"), json). Το curl2code εντοπίζει αυτόματα τα -d/--data flags με JSON περιεχόμενο και ορίζει την κατάλληλη Content-Type κεφαλίδα στον κώδικα OkHttp.

Πώς να προσθέσετε εξουσιοδότηση Bearer token στην Kotlin;

Περάστε το curl -H "Authorization: Bearer YOUR_TOKEN" URL στο curl2code και αυτό θα δημιουργήσει κώδικα OkHttp με την κεφαλίδα εξουσιοδότησης: .addHeader("Authorization", "Bearer YOUR_TOKEN"). Το curl2code εντοπίζει τα Bearer tokens τόσο από τα -H "Authorization: Bearer ..." όσο και από τα --oauth2-bearer flags. Για Basic auth, χρησιμοποιήστε το -u user:pass.

Πώς να ορίσετε την κεφαλίδα Content-Type στην Kotlin;

Το curl2code μετατρέπει το curl -H "Content-Type: application/json" URL σε κώδικα OkHttp με τη σωστή κεφαλίδα: .addHeader("Content-Type", "application/json"). Για δεδομένα -d, το curl χρησιμοποιεί από προεπιλογή το application/x-www-form-urlencoded· για μεταφορτώσεις φορμών -F, χρησιμοποιεί το multipart/form-data. Το curl2code αντιστοιχίζει το καθένα στο σωστό OkHttp API.

Χρήσιμοι σύνδεσμοι

Οδηγοί curl

Μετατροπή curl σε άλλες γλώσσες