將 curl 轉換為 Kotlin

curl2code 使用 OkHttp 將 curl 指令轉換為 Kotlin 程式碼。轉換過程透過 WebAssembly 在您的瀏覽器中執行,確保完全隱私。若需 Java,請參考我們的 curl 轉 Java 轉換器。若需 Swift (iOS),請參閱 curl 轉 Swift。下方是實用的 Kotlin 範例。

如何從瀏覽器複製 curl

  1. 1

    開啟開發者工具 (DevTools)

    按下 F12Ctrl+Shift+I 來開啟您的瀏覽器開發者工具。

  2. 2

    前往網路 (Network) 分頁

    點擊 Network 分頁,並執行觸發 HTTP 請求的操作。

  3. 3

    複製為 cURL

    右鍵點擊該請求 → CopyCopy as cURL。然後將其貼在上方。

常見問題解答

什麼是 Kotlin OkHttp?

OkHttp 是由 Square 開發,廣泛用於 Kotlin 和 Java 的 HTTP 用戶端。它具有連線池、透明 GZIP、響應快取和 HTTP/2 支援。使用 implementation("com.squareup.okhttp3:okhttp:4.x") 添加。它是 curl2code 用於 Kotlin 轉換的預設函式庫,也是 Android 的標準 HTTP 用戶端。

OkHttp vs Ktor Client vs Fuel — 該使用哪一個?

OkHttp 是行業標準,特別是對於 Android。Ktor Client 是 Kotlin 優先,支援協程(coroutine)且具備多平台能力。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 標記。

如何在 Kotlin 中發送 multipart 表單數據?

使用 OkHttp 的 MultipartBody.Builder():對於檔案使用 .addFormDataPart("file", filename, fileBody),對於欄位使用 .addFormDataPart("key", "value")。設置 .setType(MultipartBody.FORM)。curl2code 將 -F 標記轉換為正確的 OkHttp multipart 構建器程式碼。

如何在 Kotlin 中處理 HTTP 錯誤?

檢查 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 還支援使用 Proxy.Type.SOCKS 的 SOCKS 代理。curl2code 將 -x 標記轉換為此配置。

如何在 Kotlin 中發送帶有 JSON 主體的 POST 請求?

使用 curl2code 將類似 curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL 的 curl POST 指令轉換為 Kotlin。生成的程式碼使用 RequestBody.create(MediaType.parse("application/json"), json)。curl2code 會自動偵測帶有 JSON 內容的 -d/--data 旗標,並在 OkHttp 程式碼中設置適當的 Content-Type 標頭。

如何在 Kotlin 中添加 Bearer 權杖授權?

curl -H "Authorization: Bearer YOUR_TOKEN" URL 傳遞給 curl2code,它會生成帶有授權標頭的 OkHttp 程式碼:.addHeader("Authorization", "Bearer YOUR_TOKEN")。curl2code 會從 -H "Authorization: Bearer ..."--oauth2-bearer 旗標中偵測 Bearer 權杖。對於 Basic auth,請使用 -u user:pass

如何在 Kotlin 中設置 Content-Type 標頭?

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 轉換為其他語言