【发布时间】:2020-02-12 04:58:33
【问题描述】:
我正在尝试发送带有名为“:path”的标头的 POST 请求 (HTTP/2),但看起来 java 11 中的 HttpClient 不允许以冒号开头的标头。
这个标头使用 HTTP/2 应该没问题。
这就是我的代码的样子:
HttpClient httpClient = HttpClient.newHttpClient();
HttpRequest mainRequest = HttpRequest.newBuilder()
.uri(URI.create("xxxx"))
.setHeader(":method", "POST")
.setHeader(":path", "xxxxx")
.POST(HttpRequest.BodyPublishers.ofString(json))
.build();
HttpResponse<String> response = null;
try {
response = httpClient.send(mainRequest, HttpResponse.BodyHandlers.ofString());
} catch (Exception e) {
e.printStackTrace();
}
我做错了吗?
【问题讨论】:
-
查看
Utils类的allowedTokenChars。
标签: java httpclient http2 java-11 java-http-client