curl'ni Kotlin tiliga o'tkazish
curl2code curl buyruqlarini OkHttp yordamida Kotlin kodiga o'tkazadi. To'liq maxfiylik uchun konvertatsiya brauzeringizda WebAssembly orqali amalga oshiriladi. Java uchun curl'ni Java'ga o'tkazuvchi vositamizni ko'ring. Swift (iOS) uchun curl'ni Swift'ga ko'ring. Quyida amaliy Kotlin misollari keltirilgan.
Brauzerdan curl'ni qanday nusxalash mumkin
- 1
DevTools'ni oching
Brauzer dasturchi vositalarini ochish uchun F12 yoki Ctrl+Shift+I bosing.
- 2
Network tabiga o'ting
Network tabini bosing va HTTP so'rovini yuboradigan amalni bajaring.
- 3
cURL sifatida nusxalash
So'rov ustiga o'ng tugmani bosing → Copy → Copy as cURL. Keyin uni yuqoriga joylashtiring.
Tez-tez so'raladigan savollar
Kotlin OkHttp nima?
OkHttp — bu Square tomonidan ishlab chiqilgan, Kotlin va Java uchun keng qo'llaniladigan HTTP mijozidir. U ulanishlar puli (connection pooling), shaffof GZIP, javoblarni keshlashtirish va HTTP/2 qo'llab-quvvatlashiga ega. implementation("com.squareup.okhttp3:okhttp:4.x") bilan qo'shing. Bu curl2code Kotlin konvertatsiyalari uchun foydalanadigan standart kutubxona va Android uchun standart HTTP mijozidir.
OkHttp vs Ktor Client vs Fuel — qaysi birini ishlatish kerak?
OkHttp — sanoat standarti, ayniqsa Android uchun. Ktor Client — korutinlarni qo'llab-quvvatlaydigan va ko'p platformali imkoniyatga ega Kotlin-birinchi kutubxonasi. Fuel — toza Kotlin DSL'ga ega yengil kutubxona. Android uchun OkHttp (ko'pincha Retrofit orqali) standart tanlovdir. JVM taqqoslashi uchun bizning curl to Java konvertori sahifasini ko'ring.
Kotlin'da autentifikatsiya qanday boshqariladi?
Sarlavha qo'shing: request.addHeader("Authorization", "Bearer $token"). Basic auth uchun: Credentials.basic(user, pass) yordamchi funksiyasidan foydalaning. OkHttp shuningdek, 401 javoblarida hisob ma'lumotlari bilan avtomatik qayta urinish uchun Authenticator interfeysini qo'llab-quvvatlaydi. curl2code -u va Bearer flaglarini avtomatik boshqaradi.
Kotlin'da multipart form ma'lumotlari qanday yuboriladi?
OkHttp'ning MultipartBody.Builder()idan foydalaning: fayllar uchun .addFormDataPart("file", filename, fileBody) va maydonlar uchun .addFormDataPart("key", "value"). .setType(MultipartBody.FORM)ni o'rnating. curl2code -F flaglarini to'g'ri OkHttp multipart builder kodiga o'zgartiradi.
Kotlin'da HTTP xatolari qanday boshqariladi?
2xx holati uchun response.isSuccessfulni tekshiring yoki response.codeni o'qing. OkHttp tarmoq nosozliklarida IOException tashlaydi. Toza xatolarni boshqarish uchun Kotlin'ning runCatching { } yoki try/catchidan foydalaning. Resurslar sizib chiqishini oldini olish uchun har doim javob tanasini .use { } bloki bilan yoping.
OkHttp bilan korutinlar qanday ishlatiladi?
Bloklovchi OkHttp chaqiruvlarini withContext(Dispatchers.IO) { client.newCall(request).execute() } ichiga o'rang. Yoki haqiqiy asinxronlik uchun suspendCancellableCoroutine bilan enqueue() kengaytmasidan foydalaning. Ktor Client o'rnatilgan mahalliy korutin qo'llab-quvvatlashiga ega. Shunga o'xshash asinxron naqshlar uchun curl to Swift (async/await) sahifasini ko'ring.
Kotlin OkHttp'da taym-autlar qanday o'rnatiladi?
Mijozda sozlang: OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).writeTimeout(30, TimeUnit.SECONDS).build(). Qayta urinishlar uchun nosozlikda qayta urinadigan interceptor qo'shing. Bular curl'ning --connect-timeout va --max-time opsiyalariga mos keladi.
OkHttp bilan proksi qanday ishlatiladi?
Mijoz builder'ida o'rnating: OkHttpClient.Builder().proxy(Proxy(Proxy.Type.HTTP, InetSocketAddress("proxy", 8080))).build(). Autentifikatsiya uchun proxyAuthenticator qo'shing. OkHttp shuningdek, Proxy.Type.SOCKS bilan SOCKS proksilarini qo'llab-quvvatlaydi. curl2code -x flaglarini ushbu konfiguratsiyaga o'zgartiradi.
Kotlin dasturlash tilida JSON body bilan POST so''rovini qanday yuborish mumkin?
curl2code yordamida curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL kabi curl POST komandasini Kotlin kodiga o'giring. Generatsiya qilingan kod RequestBody.create(MediaType.parse("application/json"), json) funksiyasidan foydalanadi. curl2code JSON tarkibiga ega -d/--data flaglarini avtomatik ravishda aniqlaydi va OkHttp kodida tegishli Content-Type sarlavhasini o'rnatadi.
Kotlin dasturlash tilida Bearer token autorizatsiyasini qanday qo''shish mumkin?
curl2code xizmatiga curl -H "Authorization: Bearer YOUR_TOKEN" URL komandasini kiriting va u auth sarlavhasi bilan OkHttp kodini yaratadi: .addHeader("Authorization", "Bearer YOUR_TOKEN"). curl2code Bearer tokenlarini ham -H "Authorization: Bearer ...", ham --oauth2-bearer flaglaridan aniqlay oladi. Basic auth uchun -u user:pass flagidan foydalaning.
Kotlin dasturlash tilida Content-Type sarlavhasini qanday o''rnatish mumkin?
curl2code curl -H "Content-Type: application/json" URL komandasini tegishli sarlavhali OkHttp kodiga o'giradi: .addHeader("Content-Type", "application/json"). -d ma'lumotlari uchun curl odatda application/x-www-form-urlencoded formatini tanlaydi; -F form yuklamalari uchun esa multipart/form-data ishlatiladi. curl2code har birini to'g'ri OkHttp API funksiyasiga moslashtiradi.
Foydali havolalar
curl qo'llanmalari
curl xato kodlari
Istalgan curl chiqish kodini toping — sabablari, tuzatishlari va nosozliklarni aniqlash bo'yicha maslahatlar.
curl bilan fayllarni yuklab olish
-o, -O bilan fayllarni saqlang, yo'naltirishlarni kuzating, yuklashni davom ettiring va boshqalar.
SSL, TLS va proksi
Sertifikatlar, TLS versiyalari, HTTP/SOCKS proksilar va maxsus DNS sozlamalari.