Конвертиране на 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 срещу Ktor Client срещу Fuel — кое да използвам?

OkHttp е индустриалният стандарт, особено за Android. Ktor Client е ориентиран към Kotlin с поддръжка на coroutines и мултиплатформени възможности. Fuel е лек с чист Kotlin DSL. За Android, OkHttp (често чрез Retrofit) е изборът по подразбиране. За сравнение с JVM вижте нашия конвертор от curl към Java.

Как да се справя с автентикацията в Kotlin?

Добавете хедър: request.addHeader("Authorization", "Bearer $token"). За Basic auth: използвайте помощната функция 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 в правилния OkHttp multipart builder код.

Как да се справя с HTTP грешки в Kotlin?

Проверете response.isSuccessful за статус 2xx или прочетете response.code. OkHttp хвърля IOException при мрежови повреди. Използвайте runCatching { } на Kotlin или try/catch за чисто управление на грешките. Винаги затваряйте тялото на отговора с блок .use { }, за да предотвратите изтичане на ресурси.

Как да използвам coroutines с OkHttp?

Обвийте блокиращите OkHttp повиквания в withContext(Dispatchers.IO) { client.newCall(request).execute() }. Или използвайте разширението suspendCancellableCoroutine с enqueue() за истинска асинхронност. Ktor Client има вградена нативна поддръжка на coroutines. За подобни асинхронни модели вижте curl към Swift (async/await).

Как да задам таймаути в Kotlin OkHttp?

Конфигурирайте в клиента: OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).writeTimeout(30, TimeUnit.SECONDS).build(). За повторни опити добавете интерсептор, който повтаря при неуспех. Тези настройки съответстват на --connect-timeout и --max-time на curl.

Как да използвам прокси с 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 токени както от -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 в други езици