Kotlin:
Envoi d'une requête HTTP

How to:

En Kotlin, utilisez la bibliothèque ktor pour simplifier les requêtes HTTP :

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

suspend fun fetchUrl(url: String): HttpResponse {
    val client = HttpClient(CIO)
    val response: HttpResponse = client.get(url)
    client.close()
    return response
}

// Utilisez ça dans une coroutine, genre comme ça :
// val response = fetchUrl("http://example.com")
// println(response.readText())

Ce code va chercher le contenu de http://example.com. L’output ? Le HTML de la page.

Deep Dive

Avant ktor, on avait pas mal d’autres choix en Kotlin, du genre Apache HttpClient ou OkHttp. Mais ktor est plus récent, conçu spécialement pour Kotlin et les coroutines. Cool, parce qu’il simplifie la vie avec sa gestion d’async.

Les requêtes HTTP sont au coeur du web depuis Tim Berners-Lee en a profité pour partager des docs au CERN dans les années 90. Maintenant, elles sont partout, pour tout et n’importe quoi touchant le web.

Le truc avec les requêtes HTTP, c’est de bien gérer le réseau. Ça peut être lent, ça peut foirer. Gérez les timeouts, les erreurs réseau, et assurez-vous de fermer les connexions.

See Also