Конвертировать 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 vs Ktor Client vs 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 form data в 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 при сетевых сбоях. Используйте Kotlin runCatching { } или try/catch для чистой обработки ошибок. Всегда закрывайте тело ответа блоком .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 token на Kotlin?
Передайте curl -H "Authorization: Bearer YOUR_TOKEN" URL в curl2code, и инструмент сгенерирует код OkHttp с заголовком авторизации: .addHeader("Authorization", "Bearer YOUR_TOKEN"). curl2code распознает Bearer tokens как в флагах -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 сопоставляет каждый вариант с подходящим API OkHttp.