Настройка HTTP-прокси для вставки заголовка
Мне нужно протестировать некоторое HTTP-взаимодействие с клиентом, который я бы не хотел изменять. Мне нужно проверить поведение сервера, когда запросы клиента включают определенный статический заголовок.
Я думаю, что самый простой способ запустить этот тест-настроить HTTP-прокси, который вставляет заголовок в каждый запрос. Какой самый простой способ это устроить?
7 ответов
Я делаю что-то подобное в своей среде разработки, настраивая 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>
посмотреть LocationMatch и requestheader, с документация.
добавляет заголовок myheader: myvalue для запросов, идущих на сервер приложений.
вы также можете установить Fiddler (http://www.fiddler2.com/fiddler2/), который очень прост в установке (проще, чем Apache, например).
после запуска он зарегистрируется как системный прокси. Затем откройте меню " Правила "и выберите " Настроить правила"..."чтобы открыть файл JScript, который позволяет настраивать запросы.
добавить пользовательский заголовок, просто добавьте строку OnBeforeRequest
функция:
oSession.oRequest.headers.Add("MyHeader", "MyValue");
Я хотел бы попробовать tinyproxy. на самом деле, лучше всего было бы встроить туда язык сценариев... звучит как идеальная работа для Луа, особенно после того, как увидел, как хорошо он работал для mysqlproxy
вместо того, чтобы использовать прокси, я использую плагин Firefox "Изменить Заголовки" для вставки заголовков (в моем случае, чтобы подделать логин, используя единый вход, чтобы я мог тестировать Как разных людей).
Если у вас есть ruby в вашей системе, как насчет небольшого Ruby-прокси с помощью Sinatra (обязательно установите Sinatra Gem). Это должно быть проще, чем настройка Apache. Код можно найти здесь.