2017-05-22 12 views
0

Android 7.0で動作しているデバイスで、次のドメイン(http2対応)にHTTPリクエストを作成しようとしています。次のようにOkhttpがAndroid 7.0でhttp2を選択していません

iが使用するコードは、次のとおり

Request request = new Request.Builder() 
       .url("https://http2.akamai.com/") 
       .build(); 

response = okHttpClient.newCall(request).execute(); 
statusCode = response.code(); 

Iは、応答オブジェクトに気づくように、okHttpによって使用されるプロトコルはokhttpクライアントのHTTP 1.1

挙動を一度に、ランダムであります私はh2などのプロトコルを見ることができたが、その後の要求を繰り返し、それは私がV3.5

をokhttp使用しています HTTP 1.1

を選択まま

ここで何が紛れていますか?

答えて

0

Androidは、そのOkHttpでHTTP/1.1のみを有効にしています。

/** 
* Creates an OkHttpClient suitable for creating HttpsURLConnection instances on 
* Android. 
*/ 
public static OkUrlFactory createHttpsOkUrlFactory(Proxy proxy) { 
    ... 
    // Only enable HTTP/1.1 (implies HTTP/1.0). Disable SPDY/HTTP/2.0. 
    okHttpClient.setProtocols(HTTP_1_1_ONLY); 

https://android.googlesource.com/platform/external/okhttp/+/master/android/main/java/com/squareup/okhttp/HttpsHandler.java#75

関連する問題