gpt4 book ai didi

Java OkHttp3 只使用 Http/1.1 或 Http/2

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:36:42 53 4
gpt4 key购买 nike

尝试为 HTTP 请求做一些测试用例。我想区分 HTTP/1.1 和 HTTP/2。为此,我需要知道我从请求中使用了哪个版本。我还想强制请求使用 HTTP/1.1 或 HTTP/2。我正在为 Java 使用 OkHttp3。这是我执行的一个简单请求:

Request request = new Request.Builder()
.url(url)
.build();

Response response = client.newCall(request).execute();
return response.body().string();

最佳答案

您可以使用以下代码强制请求为 HTTP/1.1

new OkHttpClient.Builder().protocols(Arrays.asList(Protocol.HTTP_1_1));

您不能强制使用 HTTP/2,因为 HTTP/1.1 必须在 protocols 中列表。

但是您可以通过检查 protocol 来确认在 Response 对象上

Request request = new Request.Builder()
.url("http://publicobject.com/helloworld.txt")
.build();

Response response = client.newCall(request).execute();

assert(response.protocol() == Protocol.HTTP_2);

关于Java OkHttp3 只使用 Http/1.1 或 Http/2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41925501/

53 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com