如何在Android设备上使用http / 2与Okhttp?

我测试一个支持HTTP / 2,like this站点,
我尝试使用okhttp发送请求:
OkHttpClient okHttpClient = new OkHttpClient();

Request request = new Request.Builder()
        .url("https://www.google.it")
        .build();


okHttpClient.newCall(request).enqueue(new Callback() {
    @Override
    public void onFailure(Request request,IOException e) {
        e.printstacktrace();
    }

    @Override
    public void onResponse(Response response) throws IOException {
        Log.d("TestHttp","OkHttp-Selected-Protocol: " + response.header("OkHttp-Selected-Protocol"));
        Log.d("TestHttp","Response code is " + response.code());
    }
});

在日志中我得到这样的东西:

OkHttp-Selected-Protocol: http/1.1

okhttpClient选择使用http / 1.1,如何强制使用HTTP / 2?

解决方法

Okhttp 2.5仅通过ALPN支持5.0以上的http / 2.

但是您可以通过NPN修改代码支持4.0以上的http / 2.

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...