Получить заголовки браузера в виде строки

Q_BASIC

Хранитель порядка
Регистрация
30 Ноя 2013
Сообщения
516
Реакции
1.240
Повествую,

Как получить заголовки браузера входящие в виде строки?

Надо строку
GET / HTTP 1.1
Host site.ru
Accept-encoding: gzip...
 
Последнее редактирование:
PHP:
<?php

$url = 'http://www.example.com';
print_r(get_headers($url));

?>

и объедини join. Также в curl есть режим отладки с подробным получением всех заголовков.
 
PHP:
<?php

$url = 'http://www.example.com';
print_r(get_headers($url));

?>

и объедини join. Также в curl есть режим отладки с подробным получением всех заголовков.
Не заголовки запроса к другому серверу, а те заголовки что мне браузер прислал. Входящие
 
Код:
<?php
$headers = apache_request_headers();

foreach ($headers as $header => $value) {
    echo "$header: $value <br />\n";
}
 
Не заголовки запроса к другому серверу, а те заголовки что мне браузер прислал. Входящие
PHP:
print_r(headers_list());
print_r(getallheaders());
print_r(apache_response_headers()); //Apache mod php

$headers = array();

foreach ($_SERVER as $name => $value) {

    if (strtolower(substr($name, 0, 5)) == 'http_') {
        $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
    }
}

print_r($headers);

echo http_response_code();
echo $_SERVER['REQUEST_METHOD'];
echo $_SERVER['SERVER_PROTOCOL'];
echo $_SERVER['SERVER_NAME'];
echo $_SERVER['HTTP_HOST'];

многое в $_SERVER находится. проверь функции на function_exists. getallheaders() php 5.4 +.

также заголовки находятся в $_SERVER с ключами, которые начинаются с HTTP_, пример получения таких заголовков привел.

http_response_code() - код ответа
$_SERVER['REQUEST_METHOD'] - метод запроса
$_SERVER['SERVER_PROTOCOL'] - версия HTTP-протокола
 
Последнее редактирование:
PHP:
print_r(headers_list());
print_r(getallheaders());
print_r(apache_response_headers()); //Apache mod php

$headers = array();

foreach ($_SERVER as $name => $value) {

    if (strtolower(substr($name, 0, 5)) == 'http_') {
        $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
    }
}

print_r($headers);

echo http_response_code();
echo $_SERVER['REQUEST_METHOD'];
echo $_SERVER['SERVER_PROTOCOL'];
echo $_SERVER['SERVER_NAME'];
echo $_SERVER['HTTP_HOST'];

многое в $_SERVER находится. проверь функции на function_exists. getallheaders() php 5.4 +.

также заголовки находятся в $_SERVER с ключами, которые начинаются с HTTP_, пример получения таких заголовков привел.

http_response_code() - код ответа
$_SERVER['REQUEST_METHOD'] - метод запроса
$_SERVER['SERVER_PROTOCOL'] - версия HTTP-протокола
а те, что браузер посылал в том же порядке, в том же регистре и так далее данные потеряны?

Собирать обратно можно, но я ищу функцию, которая вернула бы то, что не разбиралось
 
а те, что браузер посылал в том же порядке, в том же регистре и так далее данные потеряны?

Собирать обратно можно, но я ищу функцию, которая вернула бы то, что не разбиралось

Все нормально там с порядком. См. screen. Функция getallheaders() - на выходе массив.
А сам протокол (с версией) и методом передачи получаешь из $_SERVER['REQUEST_METHOD']; $_SERVER['SERVER_PROTOCOL'];
Дальше все склеиваешь с \n согласно формату.
 

Вложения

  • headers.jpg
    headers.jpg
    345,5 KB · Просмотры: 7
Назад
Сверху