Envoi d'une requête HTTP avec authentification de base

Kotlin:
Envoi d'une requête HTTP avec authentification de base

Comment faire :

import java.net.HttpURLConnection
import java.net.URL
import java.util.Base64

fun sendGetRequestWithBasicAuth(url: String, username: String, password: String) {
    val connection = URL(url).openConnection() as HttpURLConnection
    val credentials = "$username:$password"
    val encodedCredentials = Base64.getEncoder().encodeToString(credentials.toByteArray())

    connection.requestMethod = "GET"
    connection.setRequestProperty("Authorization", "Basic $encodedCredentials")

    val responseCode = connection.responseCode
    println("Réponse Code : $responseCode")

    if (responseCode == HttpURLConnection.HTTP_OK) {
        connection.inputStream.bufferedReader().use {
            it.lines().forEach { line -> println(line) }
        }
    } else {
        println("Échec de la requête : $responseCode")
    }
}

// Utilisation
val url = "https://votre.api/ressource"
val username = "votre_utilisateur"
val password = "votre_mot_de_passe"
sendGetRequestWithBasicAuth(url, username, password)

Exploration Approfondie :

Historiquement, l’authentification de base HTTP est une des méthodes les plus simples d’authentification. Elle n’est pas la plus sécurisée car les identifiants sont facilement décodables si interceptés. C’est pourquoi HTTPS est souvent utilisé en conjonction. Des alternatives comme OAuth sont préférées pour une sécurité accrue. En Kotlin, l’envoi de requête HTTP avec authentification de base peut s’effectuer manuellement comme vu précédemment, ou en utilisant des bibliothèques telles que OkHttp ou Ktor, qui simplifient le processus et gèrent mieux les erreurs.

Voir Aussi :