如何使用Jetty HTTP客户端v9覆盖默认主机请求头?

如何使用Jetty HTTP客户端v9覆盖默认主机请求头?,jetty,jetty-9,Jetty,Jetty 9,我使用Jetty客户端v9向服务器发出请求。由于各种原因,我指定的服务器地址必须是实际(数字)IP地址,这对于这个问题并不重要,但我希望在主机头中传递假定的主机名(即FQDN,而不是数字)。我尝试了以下方法: request = httpClient.newRequest(url); request.method(HttpMethod.GET); ... request.header(HttpHeader.HOST, hostHeader); 但发现这没有效果。实际请求中包含的“主机”头的值仍

我使用Jetty客户端v9向服务器发出请求。由于各种原因,我指定的服务器地址必须是实际(数字)IP地址,这对于这个问题并不重要,但我希望在主机头中传递假定的主机名(即FQDN,而不是数字)。我尝试了以下方法:

request = httpClient.newRequest(url);
request.method(HttpMethod.GET);
...
request.header(HttpHeader.HOST, hostHeader);
但发现这没有效果。实际请求中包含的“主机”头的值仍然是URL中的值(包含数字IP地址)。我确实验证了上面的“hostHeader”变量是否包含正确的值(这是我想要的)

有人能提供一些关于如何覆盖此默认行为的见解吗


提前谢谢

您编写的代码是正确的,并且您通过标头指定的值将覆盖URI中指定的值,这与预期的一样

我刚刚提交了一份报告,它捕获了您描述的用例,并为我工作

也许您有一个更复杂的示例触发一个角落案例,如果您可以编写一个可复制的测试案例,这将非常有用。如果是这样,请在网站上提交问题