Настройте HTTP-прокси для вставки заголовка
-
03-07-2019 - |
Вопрос
Мне нужно протестировать HTTP-взаимодействие с клиентом, который я бы не хотел изменять.Мне нужно проверить поведение сервера, когда запросы клиента включают определенный статический заголовок.
Я думаю, что самый простой способ запустить этот тест — настроить HTTP-прокси, который вставляет заголовок в каждый запрос.Каков был бы самый простой способ это настроить?
Решение
Я делаю что-то подобное в своей среде разработки, настраивая Apache на порту 80 в качестве прокси-сервера для моего сервера приложений на порту 8080 со следующей конфигурацией Apache:
NameVirtualHost *
<VirtualHost *>
<Proxy http://127.0.0.1:8080/*>
Allow from all
</Proxy>
<LocationMatch "/myapp">
ProxyPass http://127.0.0.1:8080/myapp
ProxyPassReverse http://127.0.0.1:8080/myapp
Header add myheader "myvalue"
RequestHeader set myheader "myvalue"
</LocationMatch>
</VirtualHost>
Видеть МестоположениеМатч и Заголовок запроса документация.
Это добавляет заголовок мой заголовок:моя ценность запросам, идущим на сервер приложений.
Другие советы
Вы также можете установить Fiddler (http://www.fiddler2.com/fiddler2/), который очень легко установить (например, проще, чем Apache).
После запуска он зарегистрируется как системный прокси.Затем откройте меню «Правила» и выберите «Настроить правила...», чтобы открыть файл JScript, который позволит вам настраивать запросы.
Чтобы добавить собственный заголовок, просто добавьте строку в OnBeforeRequest
функция:
oSession.oRequest.headers.Add("MyHeader", "MyValue");
я бы попробовал крошечный прокси.на самом деле, лучше всего было бы встроить туда скриптовый язык...звучит как идеальная работа для Луа, особенно после того, как увидел, насколько хорошо это сработало MySQLProxy
Использовать http://www.proxomitron.info и настройте нужный заголовок и т. д.
Вместо использования прокси я использую плагин Firefox. «Изменить заголовки» для вставки заголовков (в моем случае для подделки входа в систему с помощью единого входа, чтобы я мог тестировать от имени разных людей).
Если в вашей системе установлен Ruby, как насчет небольшого Ruby Proxy, использующего Sinatra (обязательно установите Sinatra Gem).Это должно быть проще, чем настройка Apache.Код можно найти здесь.