【问题标题】:Custom HTTP request header自定义 HTTP 请求标头
【发布时间】:2023-03-21 08:52:01
【问题描述】:

我正在尝试使用 Google Http Client library 将自定义标头发送到我的 Web 应用程序,如下所示:

    HttpRequest request = requestFactory.buildGetRequest(url);
    HttpHeaders headers = new HttpHeaders();
    headers.set("custom", "somevalue");
    request.setHeaders(headers);
    HttpResponse response = request.execute();

但是,当我尝试枚举 Web 应用程序接收到的标头时,我在 Java 客户端中添加的标头不存在,可能缺少什么?

【问题讨论】:

  • @Tichodroma:X- 前缀已弃用。另见tools.ietf.org/html/rfc6648
  • @BalusC 我看到它已被弃用,但这是 Google Http 客户端(在我的情况下)接受自定义标头提交的唯一方式

标签: java http servlets


【解决方案1】:

尝试使用 wireshark 来检查流量,看看它是否真的被发送了。这将告诉您问题出在客户端还是服务器端。

Tichodrama 是对的,双方可能都要求您为自定义标题使用前缀 X-。

【讨论】:

  • tcpmon 也可以帮助查看标题
【解决方案2】:

您需要在密钥前加上 X- 例如 httpChannel.setRequestHeader("X-Key", "value")

【讨论】:

    【解决方案3】:

    怎么样:request.addHeader("custom", "somevalue")

    【讨论】:

      猜你喜欢
      • 2014-08-08
      • 2011-03-04
      • 2020-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多