Как читать пользовательские заголовки HTTP в PHP - PullRequest
0 голосов
/ 19 января 2020

Я установил пользовательские заголовки HTTP в своем запросе JQuery ajax следующим образом:

url:BASEURL+"path/to/my_api/endpoint.php",
headers:{
    'Authorization':'Basic',
    'App-Version':'1.3',
    'Key':'123456',
    'secret':'090909'
}

Я хотел бы иметь возможность читать их в целевом скрипте php. Я попытался:

print_r(getallheaders());

, но распечатанный массив такой:

Array
(
    [Host] => localhost
    [Connection] => keep-alive
    [Content-Length] => 153
    [Accept] => application/json, text/javascript, */*; q=0.01
    [Origin] => http://localhost
    [X-Requested-With] => XMLHttpRequest
    [User-Agent] => Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.9.2372 Mobile Safari/537.10+
    [Content-Type] => application/x-www-form-urlencoded
    [Sec-Fetch-Site] => same-origin
    [Sec-Fetch-Mode] => cors
    [Referer] => http://localhost/maxiko/application/test/index.html
    [Accept-Encoding] => gzip, deflate, br
    [Accept-Language] => en-US,en;q=0.9
    [Cookie] => _ga=GA1.1.1030525951.1577774346; PHPSESSID=tm0ltrbt8op7bkksvh7mj9rdvs
)

, он не содержит моих пользовательских пар ключ-значение. Так как же мне этого добиться ??

1 Ответ

0 голосов
/ 19 января 2020

Я попытался добавить print_r(getallheaders()); в один из моих собственных проектов и отправил заголовок secret с помощью почтальона. Распечатал нормально. Если вы абсолютно уверены, что заголовок отправляется, то я предполагаю, что вы запускаете php как cli (из apache или nginx), а не как apache модуль. Попробуйте поискать в $_SERVER['HTTP_SECRET'], возможно, он уже содержит заголовок. Но трудно найти решение, не зная, что вы используете (apache, nginx) или не увидев свою конфигурацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...