แปลง 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 จากนั้นนำมาวางด้านบน

คำถามที่พบบ่อย (FAQ)

Kotlin OkHttp คืออะไร?

OkHttp เป็น HTTP client ที่ใช้กันอย่างแพร่หลายสำหรับ Kotlin และ Java พัฒนาโดย Square มีคุณสมบัติเด่นคือ connection pooling, การทำ GZIP แบบโปร่งใส, response caching และรองรับ HTTP/2 เพิ่มได้ด้วย implementation("com.squareup.okhttp3:okhttp:4.x") เป็นไลบรารีมาตรฐานที่ curl2code ใช้สำหรับการแปลงเป็น Kotlin และเป็น HTTP client มาตรฐานสำหรับ Android

OkHttp vs Ktor Client vs Fuel — ควรใช้อันไหน?

OkHttp เป็นมาตรฐานอุตสาหกรรม โดยเฉพาะสำหรับ Android Ktor Client เน้น Kotlin เป็นหลักพร้อมรองรับ coroutine และความสามารถแบบ multiplatform Fuel มีน้ำหนักเบาพร้อม Kotlin DSL ที่สะอาดตา สำหรับ Android นั้น OkHttp (มักใช้ผ่าน Retrofit) เป็นตัวเลือกหลัก สำหรับการเปรียบเทียบในฝั่ง JVM ดูได้ที่ ตัวแปลง curl เป็น Java

จะจัดการการยืนยันตัวตนใน Kotlin ได้อย่างไร?

เพิ่ม header: request.addHeader("Authorization", "Bearer $token") สำหรับ Basic auth: ใช้ยูทิลิตี้ Credentials.basic(user, pass) นอกจากนี้ OkHttp ยังรองรับอินเทอร์เฟซ Authenticator สำหรับการลองใหม่โดยอัตโนมัติพร้อมข้อมูลยืนยันตัวตนเมื่อได้รับ response 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 เพื่อการจัดการข้อผิดพลาดที่สะอาด และปิด response body เสมอด้วยบล็อก .use { } เพื่อป้องกันทรัพยากรรั่วไหล

จะใช้ coroutines กับ OkHttp ได้อย่างไร?

ครอบการเรียก OkHttp แบบ blocking ไว้ใน withContext(Dispatchers.IO) { client.newCall(request).execute() } หรือใช้ส่วนขยาย suspendCancellableCoroutine ร่วมกับ enqueue() สำหรับ async ที่แท้จริง ส่วน Ktor Client นั้นมีการรองรับ coroutine ในตัวอยู่แล้ว สำหรับรูปแบบ async ที่คล้ายกัน ดูได้ที่ curl เป็น Swift (async/await)

จะตั้งค่า timeout ใน Kotlin OkHttp ได้อย่างไร?

กำหนดค่าที่ตัว client: OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).writeTimeout(30, TimeUnit.SECONDS).build() สำหรับการลองใหม่ ให้เพิ่ม interceptor ที่จัดการการลองใหม่เมื่อล้มเหลว ซึ่งจะตรงกับ --connect-timeout และ --max-time ของ curl

จะใช้ proxy กับ OkHttp ได้อย่างไร?

ตั้งค่าที่ client builder: OkHttpClient.Builder().proxy(Proxy(Proxy.Type.HTTP, InetSocketAddress("proxy", 8080))).build() สำหรับการยืนยันตัวตน ให้เพิ่ม proxyAuthenticator นอกจากนี้ OkHttp ยังรองรับ SOCKS proxy ด้วย Proxy.Type.SOCKS โดย curl2code จะแปลงแฟล็ก -x เป็นการตั้งค่านี้

วิธีส่งคำขอ POST พร้อม JSON body ใน 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 จะจับคู่แต่ละรายการเข้ากับ OkHttp API ที่ถูกต้อง

ลิงก์ที่มีประโยชน์

คู่มือ curl

แปลง curl เป็นภาษาอื่น