2016-04-28 51 views
1

我想提出請求並強制它使用Protocol.HTTP_2。 我嘗試下面的代碼:如何強制okhttp使用http/2進行請求?

import okhttp3.{OkHttpClient, Protocol, Request} 

import scala.collection.JavaConversions._ 
import scala.collection.mutable.ListBuffer 

object Main2 extends App { 
    val url = "https://google.com/" 
    val client = new OkHttpClient.Builder().protocols(ListBuffer(Protocol.HTTP_2)).build() 
    val request = new Request.Builder().url(url).build() 
    val response = client.newCall(request).execute() 
    println(response.body().string()) 
} 

但得到的錯誤:在線程異常 「主」 java.lang.IllegalArgumentException異常:協議不包含HTTP/1.1:[H]

回答

1

OkHttp會自動使用HTTP/2(如果可用),但不能禁用HTTP/1.1。

+0

如果我的服務器複用HTTP/1.1和HTTP/2,它似乎不工作 – pungoyal