编程语言
首页 > 编程语言> > 在Java 11中HttpClient如何解决受限制的头名:Date

在Java 11中HttpClient如何解决受限制的头名:Date

作者:互联网

以下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标头,或者检索Date标头,然后设置摘要.标准java 11似乎都不可能.

解决方法:

错误#JDK-8213189

这是在当前JDK的http-client实现中注册的错误,其中Date
也被归类为受限制的标题.

在JDK / 12中,将允许使用该属性允许其他此类受限标头:

-jdk.httpclient.allowRestrictedHeaders

标签:java-11,java,http,java-http-client
来源: https://codeday.me/bug/20191008/1870660.html