Вопрос:

Как получить HTTP-заголовок из Javascript?

javascript html5 proxy http-headers

5611 просмотра

2 ответа

383 Репутация автора

У меня есть сервер Tomcat, который обслуживает только статические файлы (HTML, CSS, JS). Когда приходит запрос, он перехватывается прокси-сервером. Прокси-сервер аутентифицирует пользователя и добавляет userIdполе в заголовок и передает его моему серверу Tomcat.

Как я могу получить доступ к тому, userIdчто было сохранено в заголовке из JavaScript?

Спасибо

Автор: gumenimeda Источник Размещён: 04.06.2014 05:57

Ответы (2)


0 плюса

1970 Репутация автора

Вы не можете, НО ...

Если такой заголовок отправляется в браузер, вы можете сделать ajax-запрос и получить это значение из него.

Этот маленький javascript может быть полезен в вашем случае. Будьте осторожны, используйте его с осторожностью и дезинфицируйте или изменяйте URL в зависимости от ваших потребностей, это всего лишь «концепция», а не решение для копирования-вставки в каждом случае. Во многих других случаях это недопустимое решение, поскольку это не заголовок загруженного документа, а другой запрос. В любом случае, сервер, контент-тип и т. Д. Можно использовать довольно безопасно.

xmlhttp = new XMLHttpRequest();
xmlhttp.open("HEAD", document.URL ,true);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4) {
  console.log(xmlhttp.getAllResponseHeaders());
  }
}
xmlhttp.send();

РЕДАКТИРОВАТЬ: Ooops, кажется, уже и эта часть еще ... Доступ к заголовкам HTTP веб-страницы в JavaScript Не прочитал все это.

Автор: miguel-svq Размещён: 04.06.2014 06:06

0 плюса

605 Репутация автора

Используйте приведенный ниже скрипт для доступа к userId

var req = new XMLHttpRequest();
req.open('GET', document.location, false);
req.send(null);
headers = req.getAllResponseHeaders().split("\n")
     .map(x=>x.split(/: */,2))
     .filter(x=>x[0])
     .reduce((ac, x)=>{ac[x[0]] = x[1];return ac;}, {});

console.log(headers.userId);
Автор: Pankaj Chauhan Размещён: 13.06.2019 08:27
Вопросы из категории :
32x32