Конвертувати curl у Kotlin
curl2code конвертує команди curl у код Kotlin за допомогою OkHttp. Конвертація виконується у вашому браузері через WebAssembly для повної приватності. Для Java перегляньте наш конвертер curl у Java. Для Swift (iOS) дивіться curl у Swift. Нижче наведено практичні приклади на Kotlin.
Як скопіювати curl з вашого браузера
- 1
Відкрийте DevTools
Натисніть F12 або Ctrl+Shift+I, щоб відкрити інструменти розробника у вашому браузері.
- 2
Перейдіть на вкладку Network
Натисніть на вкладку Network і виконайте дію, яка ініціює HTTP-запит.
- 3
Скопіюйте як cURL
Клацніть правою кнопкою миші на запит → Copy → Copy as cURL. Потім вставте його вище.
Часті запитання
Що таке Kotlin OkHttp?
OkHttp — це популярний HTTP-клієнт для Kotlin та Java, розроблений Square. Він має пул з'єднань, прозорий GZIP, кешування відповідей та підтримку HTTP/2. Додайте за допомогою implementation("com.squareup.okhttp3:okhttp:4.x"). Це стандартна бібліотека, яку curl2code використовує для перетворень у Kotlin, і стандартний HTTP-клієнт для Android.
OkHttp проти Ktor Client проти Fuel — що вибрати?
OkHttp — це галузевий стандарт, особливо для Android. Ktor Client орієнтований на Kotlin, має підтримку корутин та мультиплатформність. Fuel — легка бібліотека з чистим Kotlin DSL. Для Android OkHttp (часто через Retrofit) є вибором за замовчуванням. Для порівняння JVM дивіться наш конвертер curl у Java.
Як обробляти автентифікацію в Kotlin?
Додайте заголовок: request.addHeader("Authorization", "Bearer $token"). Для Basic-автентифікації використовуйте утиліту Credentials.basic(user, pass). OkHttp також підтримує інтерфейс Authenticator для автоматичного повтору з обліковими даними при відповідях 401. curl2code автоматично обробляє прапорці -u та Bearer.
Як надіслати дані форми multipart в Kotlin?
Використовуйте MultipartBody.Builder() в OkHttp: .addFormDataPart("file", filename, fileBody) для файлів та .addFormDataPart("key", "value") для полів. Встановіть .setType(MultipartBody.FORM). curl2code перетворює прапорці -F у відповідний код конструктора multipart OkHttp.
Як обробляти помилки HTTP в Kotlin?
Перевірте response.isSuccessful для статусів 2xx або прочитайте response.code. OkHttp викидає IOException при мережевих збоях. Використовуйте runCatching { } або try/catch у Kotlin для чистої обробки помилок. Завжди закривайте тіло відповіді за допомогою блоку .use { }, щоб запобігти витоку ресурсів.
Як використовувати корутини з OkHttp?
Огорніть блокуючі виклики OkHttp у withContext(Dispatchers.IO) { client.newCall(request).execute() }. Або використовуйте розширення suspendCancellableCoroutine з enqueue() для справжньої асинхронності. Ktor Client має вбудовану нативну підтримку корутин. Для подібних асинхронних патернів дивіться curl у Swift (async/await).
Як встановити таймаути в Kotlin OkHttp?
Налаштуйте в клієнті: OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).writeTimeout(30, TimeUnit.SECONDS).build(). Для повторів додайте інтерцептор, який повторює спробу при збої. Вони відповідають опціям curl --connect-timeout та --max-time.
Як використовувати проксі з OkHttp?
Встановіть у конструкторі клієнта: OkHttpClient.Builder().proxy(Proxy(Proxy.Type.HTTP, InetSocketAddress("proxy", 8080))).build(). Для автентифікації додайте proxyAuthenticator. OkHttp також підтримує SOCKS-проксі з 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-токена у 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
Знайдіть будь-який код завершення curl — причини, виправлення та поради з налагодження.
Завантаження файлів за допомогою curl
Зберігайте файли з -o, -O, слідкуйте за перенаправленнями, відновлюйте завантаження та інше.
SSL, TLS та проксі
Налаштування сертифікатів, версій TLS, HTTP/SOCKS-проксі та власного DNS.