Конвертиране на 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 с поддръжка на 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
Справка за всеки изходен код на curl — причини, решения и съвети за отстраняване на грешки.
Изтегляне на файлове с curl
Запазвайте файлове с -o, -O, следвайте пренасочвания, възобновявайте изтегляния и още.
SSL, TLS и прокси
Конфигурирайте сертификати, версии на TLS, HTTP/SOCKS проксита и персонализиран DNS.