본문 바로가기

내컴퓨터/안/드/로/이/드

https 통신 시, NoConnectionError

Volley를 이용해서 https로 시작되는 url과 통신을 하려는 상황.

com.android.volley.NoConnectionError : java.io.IOException: Hostname '?????' was not verified

라는 exception이 발생했다면,

아래 코드를 추가해서 해결한다.



HttpsURLConnection.setDefaultHostnameverifier(new HostnameVerifier(){

@Override

public boolean verify(String hostname, SSLSession session){

if(hosname.contentEquals("your URL")){

return true;

}

return false;

}

});


하지만,

위 코드는 "인증서를 무시하라" 이런 의미라서,

보안상으로는 좋지 않은 코드이다.


나의 경우 저 error가 발생했던 원인은

접속 도메인과, https 인증서의 도메인이 달라서

인증서 오류로 error가 발생했던 것이고,

그래서 인증서를 바꿔주었더니 setDefaultHostnameverifier를 바꿔주지 않고도

해결이 되었다.