Kotlin:
Skicka en http-förfrågan

Att göra:

Kotlin använder bibliotek som khttp eller Fuel för HTTP-begäran, men här fokuserar vi på Ktor, ett Kotlin-eget sätt:

import io.ktor.client.*
import io.ktor.client.request.*
import io.ktor.client.statement.*

suspend fun getWebContent(url: String): String {
    val client = HttpClient()
    val response: HttpResponse = client.get(url)
    val content = response.readText()
    client.close()
    return content
}

// Användning:
fun main() {
    val content = getWebContent("https://example.com")
    println(content)
}

Du borde se svaret från https://example.com i konsolen.

Djupdykning:

Under tidigare år, använder vi Java-bibliotek som HttpURLConnection eller Apache HttpClient i Kotlin för HTTP-requests. Ktor är dock ett högnivå, asynkront, och korutin-baserat Kotlin ramarverk som är tänkt för att förenkla nätverksoperationer, som HTTP-begäran, på ett idiomatiskt Kotlin-sätt.

Alternativ inkluderar:

  • okhttp: Ett tredjepartsbibliotek som är mer konfigurativt.
  • retrofit: Ett annat populärt bibliotek som också kan generera Kotlin-korutiner.

Ktor använder sig av korutiner för att hantera asynkrona anrop vilket gör koden enklare och mer lättläst. Detta är viktigt vid hög trafik eller krav på snabba svarstider.

Se även: