Установка серверной переменной HTTP_X_FORWARDED_FOR в классическом ASP

Мне нужно установить значение HTTP_X_FORWARDED_FOR в коллекции Request.ServerVariables. Я пытаюсь с Fiddler (см. Эту статью).

Поэтому я настроил собственный HTTP-запрос:

GET http://myhost/ HTTP/1.1 http_x_forwarded_for: my.fake.ip.1, my.fake.ip.2 Host: myhost.

Запрос правильно выполнен.

Но когда я отлаживаю код, Request.ServerVariables("HTTP_X_FORWARDED_FOR") будет пустым. Где я не прав? Является ли Fiddler правильным инструментом?

1 ответ

Решение

Заголовок, который вы отправляете, должен быть x-forwarded-for, Request.ServerVariables это именно то, что говорит серверные переменные. Он не только содержит заголовки http, отправленные в запросе.

При помещении значений заголовка в переменные сервера IIS создает имя переменной, основанное на имени заголовка, но не дословно. Преобразует все символы в верхний регистр, заменяет все - с _ и добавляет префикс HTTP_ в заголовок, чтобы создать имя переменной сервера. Префикс добавлен для предотвращения наложения произвольных заголовков на имена других фиксированных серверных переменных.

Другие вопросы по тегам