Установка HTTP заголовков через CURL в PHP

С помощью опции CURLOPT_HTTPHEADER можно при запросе отправлять HTTP заголовки запроса. В качестве параметра эта опция принимает массив заголовков и их значений.

Давайте установим эту опцию, передав некоторые заголовки:

<?php $headers = [ 'Accept-Language: en-US', 'Accept: text/html' ]; curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); ?>

На странице, на которую отправляем запрос, можно проверить, что указанные заголовки отправились:

<?php var_dump($_SERVER['HTTP_ACCEPT_LANGUAGE']); var_dump($_SERVER['HTTP_ACCEPT']); ?>

Отправьте запрос на следующую страницу, указав заголовок X-Test:

<?php echo $_SERVER['HTTP_X_TEST']; ?>

Отправьте запрос на следующую страницу и получите результат:

<?php if ($_SERVER['HTTP_X_TEST'] === '12345') { echo 'result'; } else { echo 'error'; } ?>