【问题标题】:How to override the default Host request header using Jetty HTTP Client v9?如何使用 Jetty HTTP Client v9 覆盖默认主机请求标头?
【发布时间】:2013-12-24 04:17:17
【问题描述】:

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

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

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

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

提前致谢!

【问题讨论】:

    标签: jetty jetty-9


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-05
      • 1970-01-01
      • 2013-12-16
      • 2019-10-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-05
      相关资源
      最近更新 更多