Chuyển đổi curl sang Kotlin

curl2code chuyển đổi các lệnh curl thành mã Kotlin bằng OkHttp. Quá trình chuyển đổi chạy trong trình duyệt của bạn thông qua WebAssembly để đảm bảo quyền riêng tư hoàn toàn. Đối với Java, hãy kiểm tra trình chuyển đổi curl sang Java của chúng tôi. Đối với Swift (iOS), hãy xem curl sang Swift. Dưới đây là các ví dụ Kotlin thực tế.

Cách sao chép curl từ trình duyệt của bạn

  1. 1

    Mở DevTools

    Nhấn F12 hoặc Ctrl+Shift+I để mở công cụ dành cho nhà phát triển của trình duyệt.

  2. 2

    Đi tới tab Network

    Nhấp vào tab Network và thực hiện hành động kích hoạt yêu cầu HTTP.

  3. 3

    Sao chép dưới dạng cURL

    Nhấp chuột phải vào yêu cầu → Sao chépCopy as cURL. Sau đó dán nó vào bên trên.

Câu hỏi thường gặp

Kotlin OkHttp là gì?

OkHttp là một client HTTP được sử dụng rộng rãi cho Kotlin và Java, được phát triển bởi Square. Nó có tính năng connection pooling, nén GZIP minh bạch, bộ nhớ đệm phản hồi và hỗ trợ HTTP/2. Thêm bằng implementation("com.squareup.okhttp3:okhttp:4.x"). Đây là thư viện mặc định mà curl2code sử dụng cho các chuyển đổi Kotlin và là client HTTP tiêu chuẩn cho Android.

OkHttp so với Ktor Client so với Fuel — nên sử dụng cái nào?

OkHttp là tiêu chuẩn công nghiệp, đặc biệt là cho Android. Ktor Client ưu tiên Kotlin với hỗ trợ coroutine và khả năng đa nền tảng. Fuel nhẹ với DSL Kotlin sạch sẽ. Đối với Android, OkHttp (thường thông qua Retrofit) là lựa chọn mặc định. Để so sánh trên JVM, hãy xem trình chuyển đổi curl sang Java của chúng tôi.

Làm thế nào để xử lý xác thực trong Kotlin?

Thêm một header: request.addHeader("Authorization", "Bearer $token"). Đối với xác thực Basic: sử dụng tiện ích Credentials.basic(user, pass). OkHttp cũng hỗ trợ giao diện Authenticator để tự động thử lại với thông tin xác thực khi nhận phản hồi 401. curl2code tự động xử lý các cờ -u và Bearer.

Làm thế nào để gửi dữ liệu form multipart trong Kotlin?

Sử dụng MultipartBody.Builder() của OkHttp: .addFormDataPart("file", filename, fileBody) cho các tệp và .addFormDataPart("key", "value") cho các trường. Thiết lập .setType(MultipartBody.FORM). curl2code chuyển đổi các cờ -F sang mã trình xây dựng multipart OkHttp chính xác.

Làm thế nào để xử lý lỗi HTTP trong Kotlin?

Kiểm tra response.isSuccessful cho trạng thái 2xx hoặc đọc response.code. OkHttp ném ra IOException khi có lỗi mạng. Sử dụng runCatching { } của Kotlin hoặc try/catch để xử lý lỗi sạch sẽ. Luôn đóng thân phản hồi bằng khối .use { } để ngăn rò rỉ tài nguyên.

Làm thế nào để sử dụng coroutines với OkHttp?

Bọc các cuộc gọi OkHttp chặn trong withContext(Dispatchers.IO) { client.newCall(request).execute() }. Hoặc sử dụng phần mở rộng suspendCancellableCoroutine với enqueue() để thực hiện bất đồng bộ thực sự. Ktor Client có hỗ trợ coroutine nguyên bản được tích hợp sẵn. Đối với các mẫu bất đồng bộ tương tự, hãy xem curl sang Swift (async/await).

Làm thế nào để thiết lập timeout trong Kotlin OkHttp?

Cấu hình trên client: OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).writeTimeout(30, TimeUnit.SECONDS).build(). Để thử lại, hãy thêm một interceptor để thử lại khi thất bại. Các thiết lập này tương ứng với --connect-timeout--max-time của curl.

Làm thế nào để sử dụng proxy với OkHttp?

Thiết lập trên trình xây dựng client: OkHttpClient.Builder().proxy(Proxy(Proxy.Type.HTTP, InetSocketAddress("proxy", 8080))).build(). Để xác thực, hãy thêm proxyAuthenticator. OkHttp cũng hỗ trợ proxy SOCKS với Proxy.Type.SOCKS. curl2code chuyển đổi các cờ -x sang cấu hình này.

Làm thế nào để gửi một yêu cầu POST với thân JSON trong Kotlin?

Chuyển đổi một lệnh curl POST như curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL sang Kotlin bằng cách sử dụng curl2code. Mã được tạo sử dụng RequestBody.create(MediaType.parse("application/json"), json). curl2code tự động phát hiện các cờ -d/--data với nội dung JSON và thiết lập header Content-Type phù hợp trong mã OkHttp.

Làm thế nào để thêm xác thực Bearer token trong Kotlin?

Cung cấp curl -H "Authorization: Bearer YOUR_TOKEN" URL cho curl2code và nó sẽ tạo mã OkHttp với header xác thực: .addHeader("Authorization", "Bearer YOUR_TOKEN"). curl2code phát hiện Bearer tokens từ cả hai cờ -H "Authorization: Bearer ..."--oauth2-bearer. Đối với Basic auth, hãy sử dụng -u user:pass.

Làm thế nào để thiết lập header Content-Type trong Kotlin?

curl2code chuyển đổi curl -H "Content-Type: application/json" URL sang mã OkHttp với header chính xác: .addHeader("Content-Type", "application/json"). Đối với dữ liệu -d, curl mặc định là application/x-www-form-urlencoded; đối với tải lên biểu mẫu -F, nó sử dụng multipart/form-data. curl2code ánh xạ từng loại tới OkHttp API chính xác.

Liên kết hữu ích

Hướng dẫn curl

Chuyển đổi curl sang các ngôn ngữ khác