Конвертировать 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-клиент для 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.

Полезные ссылки

Руководства по curl

Конвертировать curl в другие языки