java - 在 Java 11 HttpClient 中如何解决受限 header 名称 : Date

标签 java http java-11 java-http-client

以下 Java 11 代码:

HttpRequest request = HttpRequest.newBuilder()
            .uri(uri)
            .header("Digest", digest)
            .header("Date", date)  
            .build();

出现以下错误:

Exception in thread "main" java.lang.IllegalArgumentException: restricted header name: "Date"

问题是摘要是基于日期的,所以我不能简单地依赖 http 客户端日期,因为那样会使摘要无效。 我需要一种方法来设置 Date header ,或者检索 Date header 然后设置摘要。标准 Java 11 似乎都不可能。

最佳答案

漏洞# JDK-8213189

这是在当前 JDK 的 http-client 实现中注册的错误,其中日期 也被归类为受限 header

在 JDK/12 中,将允许使用以下属性允许其他此类受限 header :

-jdk.httpclient.allowRestrictedHeaders

关于java - 在 Java 11 HttpClient 中如何解决受限 header 名称 : Date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53979173/

相关文章:

java - java 堆转储文件的大小

java - 碧 Jade 报告 : JRException: Error retrieving field value from bean(Nested Bean Issue)

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

java - 抽象方法的目的是什么?

asp.net - 在自定义 ASP.NET HttpHandler 响应中禁用缓存控制 header 字段

xml - R : "subscript out of bounds" 中的数据混搭

angularjs - 从 Angular 向 nodejs 发送 https 请求。无法发送任何数据

java - AdoptOpenJDK 的 JRE 11+ 是否和在 JDK 上使用 jlink 一样,添加所有依赖项

java - Java 11 中的内部 API 替换

java - Java 11 上的 JFileChooser ,翻译成法语的问题