Définition des en-têtes HTTP via CURL en PHP
Avec l'option CURLOPT_HTTPHEADER
il est possible d'envoyer des en-têtes de requête HTTP lors de la requête.
Cette option accepte comme paramètre
un tableau d'en-têtes et de leurs valeurs.
Définissons cette option en passant quelques en-têtes :
<?php
$headers = [
'Accept-Language: en-US',
'Accept: text/html'
];
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
?>
Sur la page vers laquelle la requête est envoyée, on peut vérifier que les en-têtes spécifiés ont été envoyés :
<?php
var_dump($_SERVER['HTTP_ACCEPT_LANGUAGE']);
var_dump($_SERVER['HTTP_ACCEPT']);
?>
Envoyez une requête vers la page
suivante, en spécifiant l'en-tête X-Test :
<?php
echo $_SERVER['HTTP_X_TEST'];
?>
Envoyez une requête vers la page suivante et obtenez le résultat :
<?php
if ($_SERVER['HTTP_X_TEST'] === '12345') {
echo 'result';
} else {
echo 'error';
}
?>