2017-01-29 1 views
1

HTTP 요청에 대한 몇 가지 테스트 사례를 시도합니다. HTTP/1.1과 HTTP/2를 구별하고 싶습니다. 그렇게하기 위해 요청에서 사용한 버전을 알아야합니다. HTTP/1.1 또는 HTTP/2를 사용하도록 요청하고 싶습니다. Java 용 OkHttp3을 사용하고 있습니다. 여기 내가 할 간단한 요청입니다 : 당신은 다음 코드를 사용하여 HTTP/1.1로 요청을 강제 할 수Java OkHttp3은 Http/1.1 또는 Http/2 만 사용합니다.

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

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

답변

2

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

당신은 HTTP/2 만 HTTP로 강요 할 수 /1.1은 protocols 목록에 있어야합니다.

당신은 응답 객체에 protocol을 확인하여 확인할 수 있습니다 그러나

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

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

assert(response.protocol() == Protocol.HTTP_2); 
관련 문제