0

我正在使用 Jetty 客户端 v9 向服务器发出请求。我指定的服务器的地址必须采用实际(数字)IP 地址的形式,原因有多种,但我想在 Host 标头中传递假定的主机名(即 FQDN,不是数字) . 我尝试了以下方法:

request = httpClient.newRequest(url);
request.method(HttpMethod.GET);
...
request.header(HttpHeader.HOST, hostHeader);

但是发现这并没有什么效果。实际请求中包含的“Host”标头的值仍然是来自 URL 的值(包含数字 IP 地址)。我确实验证了上面的“hostHeader”变量确实包含正确的值(我想要的)。

谁能提供一些有关如何覆盖此默认行为的见解?

提前致谢!

4

1 回答 1

1

您编写的代码是正确的,并且您通过标头指定的值会覆盖 URI 中指定的值,正如预期的那样。

我刚刚提交了一个测试用例,它捕获了您描述的用例,并且为我工作。

也许您有一个触发极端案例的更复杂示例,如果您可以编写可重现的测试用例,这将很有帮助。如果是这种情况,请在Jetty Bugzilla提交问题。

于 2013-12-10T16:03:30.637 回答