curl-ის კონვერტაცია Kotlin-ში

curl2code გარდაქმნის curl ბრძანებებს Kotlin კოდად OkHttp-ის გამოყენებით. კონვერტაცია სრულდება თქვენს ბრაუზერში WebAssembly-ის მეშვეობით სრული კონფიდენციალურობისთვის. Java-სთვის ნახეთ ჩვენი curl to Java კონვერტორი. Swift (iOS)-ისთვის იხილეთ curl to 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 კლიენტი Kotlin-ისა და Java-სთვის, შემუშავებული Square-ის მიერ. მას აქვს connection pooling-ის, გამჭვირვალე GZIP-ის, პასუხების ქეშირებისა და HTTP/2-ის მხარდაჭერა. დაამატეთ implementation("com.squareup.okhttp3:okhttp:4.x")-ით. ეს არის ნაგულისხმევი ბიბლიოთეკა, რომელსაც curl2code იყენებს Kotlin კონვერტაციებისთვის და წარმოადგენს სტანდარტულ HTTP კლიენტს Android-ისთვის.

OkHttp vs Ktor Client vs Fuel — რომელი გამოვიყენო?

OkHttp არის ინდუსტრიის სტანდარტი, განსაკუთრებით Android-ისთვის. Ktor Client არის Kotlin-ზე ორიენტირებული coroutine-ების მხარდაჭერით და მულტიპლატფორმული შესაძლებლობებით. Fuel არის მსუბუქი, სუფთა Kotlin DSL-ით. Android-ისთვის OkHttp (ხშირად Retrofit-ის მეშვეობით) ნაგულისხმევი არჩევანია. JVM შედარებისთვის იხილეთ ჩვენი curl to Java კონვერტერი.

როგორ ვმართოთ ავტორიზაცია Kotlin-ში?

დაამატეთ header-ი: request.addHeader("Authorization", "Bearer $token"). Basic auth-ისთვის: გამოიყენეთ Credentials.basic(user, pass) დამხმარე ფუნქცია. OkHttp ასევე მხარს უჭერს Authenticator ინტერფეისს 401 პასუხებზე ავტორიზაციის მონაცემებით ავტომატური განმეორებისთვის. curl2code ავტომატურად მართავს -u და Bearer დროშებს.

როგორ გავაგზავნოთ multipart form მონაცემები Kotlin-ში?

გამოიყენეთ OkHttp-ის MultipartBody.Builder(): .addFormDataPart("file", filename, fileBody) ფაილებისთვის და .addFormDataPart("key", "value") ველებისთვის. დააყენეთ .setType(MultipartBody.FORM). curl2code აკონვერტირებს -F დროშებს OkHttp-ის სწორ multipart builder კოდში.

როგორ ვმართოთ HTTP შეცდომები Kotlin-ში?

შეამოწმეთ response.isSuccessful 2xx სტატუსისთვის ან წაიკითხეთ response.code. OkHttp აგდებს IOException-ს ქსელის ხარვეზებისას. გამოიყენეთ Kotlin-ის runCatching { } ან try/catch შეცდომების სუფთად მართვისთვის. ყოველთვის დახურეთ პასუხის body .use { } ბლოკით რესურსების გაჟონვის თავიდან ასაცილებლად.

როგორ გამოვიყენოთ coroutine-ები OkHttp-თან?

მოაქციეთ მბლოკავი OkHttp გამოძახებები withContext(Dispatchers.IO) { client.newCall(request).execute() }-ში. ან გამოიყენეთ suspendCancellableCoroutine გაფართოება enqueue()-თან ერთად ნამდვილი ასინქრონულობისთვის. Ktor Client-ს აქვს coroutine-ების ნატიური მხარდაჭერა. მსგავსი ასინქრონული პატერნებისთვის იხილეთ curl to Swift (async/await).

როგორ დავაყენოთ timeout-ები Kotlin OkHttp-ში?

კონფიგურაცია ხდება კლიენტზე: OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).writeTimeout(30, TimeUnit.SECONDS).build(). განმეორებისთვის დაამატეთ interceptor-ი, რომელიც იმუშავებს ხარვეზისას. ეს შეესაბამება curl-ის --connect-timeout და --max-time ოფციებს.

როგორ გამოვიყენოთ proxy OkHttp-თან?

დააყენეთ კლიენტის builder-ზე: OkHttpClient.Builder().proxy(Proxy(Proxy.Type.HTTP, InetSocketAddress("proxy", 8080))).build(). ავტორიზაციისთვის დაამატეთ proxyAuthenticator. OkHttp ასევე მხარს უჭერს SOCKS proxy-ებს Proxy.Type.SOCKS-ით. curl2code აკონვერტირებს -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 ფლაგებს JSON კონტენტით და ადგენს შესაბამის Content-Type ჰედერს OkHttp კოდში.

როგორ დავამატოთ Bearer token ავტორიზაცია Kotlin ენაზე?

მიაწოდეთ curl -H "Authorization: Bearer YOUR_TOKEN" URL ბრძანება curl2code ხელსაწყოს და ის დააგენერირებს OkHttp კოდს ავტორიზაციის ჰედერით: .addHeader("Authorization", "Bearer YOUR_TOKEN"). curl2code ამოიცნობს Bearer ტოკენებს როგორც -H "Authorization: Bearer ...", ისე --oauth2-bearer ფლაგებიდან. 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-ის კონვერტაცია სხვა ენებზე