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

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

Comment faire :

<?php
$url = 'https://example.com/api/data';
$username = 'user';
$password = 'pass';

// Initialisation
$ch = curl_init($url);

// Authentification basique
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");

// Exécution de la requête
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

// Vérification de la réponse
if ($status == 200) {
    echo "Succès :\n";
    echo $response;
} else {
    echo "Erreur HTTP $status\n";
}
?>

Sortie:

Succès :
{"data":"informations confidentielles"}

Plongée profonde :

Avant cURL, on utilisait fsockopen() ou des fonctions similaires pour créer des connexions réseau bas niveau. Aujourd’hui, cURL est répandu car il simplifie les requêtes HTTP.

Les alternatives à cURL incluent file_get_contents() avec un contexte de flux, ou même des bibliothèques comme Guzzle. Chaque méthode a ses propres avantages selon l’utilisation.

L’authentification basique n’est pas la plus sûre. Les identifiants sont codés en base64, ce qui n’est pas un cryptage. Utilisez HTTPS pour éviter l’exposition des données sensibles.

Voir aussi :