Android 7.0 시스템 webview https 페이지 공백 처리 방법 표시

최근 개발 할 때 가끔 온라인 상에 서 안정 적 으로 실행 되 는 웹 뷰 에 설 치 된 h5 페이지 가 불 러 오지 않 고 구체 적 인 원인(우리 가 직접 만 든 호환성 테스트 에서 재현 되 지 않 기 때 문)을 찾 지 못 했 습 니 다.시스템 로 그 를 봐 도 문제 가 발견 되 지 않 았 습 니 다.나중에 사용자 휴대 전화 모델 에 문의 한 결과 7.0 또는 6.0 이상 의 개별 모델 이 나 타 났 습 니 다.
나중에 업무 용 핸드폰 을 빌 렸 습 니 다.모델 은 삼 성 S6 EDGE,SM-G9205 입 니 다.대부분의 기종 에서 정상 적 인 페이지 를 운행 하고 이 기계 에서 다음 과 같 습 니 다.

이 페이지 의 최근 변경 사항 은 http 에서 https 로 전환 되 었 습 니 다.이전 페이지 는 http 이기 때문에 우리 가 전환 할 때 url 을 제외 하고 webview 의 ssl 검사 에 대해 특별한 처 리 를 하지 않 았 습 니 다.
문 제 는 바로 여기에 있 습 니 다.웹 뷰 는 https 를 불 러 올 때 보통 핸드폰 루트 인증서 로 h5 페이지 를 검사 합 니 다.이 검사 가 반드시 성공 하 는 것 은 아 닙 니 다.
실패 할 때 웹 뷰 클 라 이언 트 의 onReceivedSslError 함 수 를 되 돌려 줍 니 다.
그렇다면 인증서 검사 가 실 패 했 을 때 건 너 뛰 고 계속 불 러 오 면 됩 니 다.다음 과 같 습 니 다.

  public void onReceivedSslError(WebView view, android.webkit.SslErrorHandler handler, android.net.http.SslError error) {
  	
   handler.proceed();//           
   
  };
다시 실행 한 후에 이 방법 은 실행 가능 하 다 는 것 을 알 게 되 었 다.그 는 ssl 검사 가 실 패 했 을 때 이 절 차 를 돌 았 다.
그러나 문제 가 또 생 겼 습 니 다.https 를 전환 합 니 다.원래 ssl 이라는 층 을 이용 하여 페이지 를 불 러 오 는 안전성 을 확보 하고 자 했 는데 지금 은 통일 적 으로 건 너 뛰 면 안전 한 취지 에 이 르 지 못 하지 않 습 니까?
계속 디 버 깅 을 하면 onReceivedSslError 에 있 는 SslError 정 보 를 꺼 내 서 다음 오류 임 을 알 수 있 습 니 다.
SslError.SSL_INVALID//검사 과정 에서 bug 를 만 났 습 니 다.
이 오 류 는 웹 view client 가 ssl 을 검사 하 는 과정 에서 bug 가 발생 한 것 입 니 다.
원본 코드 를 찾 아 본 결과 전체 수량의 오 류 는 모두 다음 과 같은 몇 가지 가 있 습 니 다.

인증서 자체 에 문제 가 있 는 경우 도 있 고 버그 를 검사 한 경우 도 있 기 때문에 모두 놓 치 는 것 이 가장 편리 하지만 최선 은 아 닐 수도 있 습 니 다.
마지막 으로 ssl 검사 가 실 패 했 을 때 검사 과정 에서 bug 를 만 났 다 면 놓 아주 고 다른 상황 은 cancel 이 라 고 판단 합 니 다.

  	if(error.getPrimaryError() == android.net.http.SslError.SSL_INVALID ){//        bug
		  	handler.proceed();
		  }else{
		  	handler.cancel();
	  }
이상 의 안 드 로 이 드 7.0 시스템 웹 뷰 에 따 르 면 https 페이지 의 공백 처리 방법 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 께 참고 가 되 고 저희 도 많이 응원 해 주시 기 바 랍 니 다.

좋은 웹페이지 즐겨찾기