Kotlin:
ส่งคำขอ HTTP

วิธีทำ:

Kotlin ทำให้การร้องขอ HTTP เป็นเรื่องง่าย นี่คือตัวอย่างพื้นฐานโดยใช้ khttp, ไลบรารีที่ใช้งานง่าย:

import khttp.get

fun main() {
    val response = get("https://api.github.com/users/octocat/orgs")
    println(response.text)
}

ผลลัพธ์:

[{"login":"octo-org","id":583231,"url":"https://api.github.com/orgs/octo-org", ...}]

สำหรับความต้องการที่มากขึ้น, นี่คือตัวอย่างโค้ดโดยใช้ ktor, เฟรมเวิร์กของ Kotlin, เพื่อดึงข้อมูลอย่างไม่ต้องรอตอบสนอง:

import io.ktor.client.*
import io.ktor.client.engine.cio.*
import io.ktor.client.request.*

suspend fun main() {
    val client = HttpClient(CIO)
    val response: String = client.get("https://api.github.com/users/octocat/orgs")
    println(response)
    client.close()
}

ผลลัพธ์คล้ายกับตัวอย่างแรก

ลงลึก

ไลบรารี khttp เป็นเครื่องมือที่สะดวก, ได้รับการออกแบบตาม requests ใน Python ทำให้เป็นเหมาะสำหรับสคริปต์ขนาดเล็กแต่ไม่ได้รับการดูแลอย่างต่อเนื่อง ktor เป็นโปรเจกต์ใหม่ที่ยังมีการพัฒนาอย่างต่อเนื่องโดย JetBrains, ถูกออกแบบมาเพื่อการใช้งานอะซิงโครนัสด้วยโครูตีน มีไว้สำหรับแอปที่ขยายได้ ทั้งสองจัดการกับคำขอ HTTP แต่รองรับกรณีการใช้งานที่แตกต่างกัน

ในอดีต, การร้องขอ HTTP ใน Kotlin ทำเลียบเคียงกับไลบรารีของ Java เช่น HttpURLConnection หรือ HttpClient ของ Apache ซึ่งยังถือว่าใช้ได้แต่มีความละเอียดและไม่มีคุณสมบัติของภาษา Kotlin

สำหรับการนำไปใช้งาน, จำไว้ว่าต้องจัดการกับข้อผิดพลาด HTTP ทั่วไปและอ่านรหัสตอบกลับ คุณจะต้องการใช้ try-catch สำหรับข้อยกเว้นทางเครือข่าย และอาจต้องการทำงานกับหัวข้อและพารามิเตอร์การค้นหา

ดูเพิ่มเติม