Я использую Jakarta Commons HttpClient 3.1, пишу инструмент нагрузочного тестирования, который должен ориентироваться на разные серверы и делать вид, что он нацелен на правильный виртуальный хост на HTTP-сервере. Для этого мне нужно иметь возможность установить HTTP-заголовок «Host» в запросе на другое имя хоста, чем фактическое имя хоста, к которому я подключаюсь.
Казалось довольно очевидным, что я должен использовать Method.setRequestHeader("Host","fakehostname")
, но HttpClient просто игнорирует это и всегда отправляет реальное имя хоста, к которому я подключаюсь, в заголовке «Host» (я включил ведение журнала отладки для «httpclient.wire», и я могу это делает это специально).
Как я могу переопределить заголовок, чтобы HttpClient прислушался?