JAVA 소스 내에서 SSL 적용된 사이트에 접근하기 위해, REST Api를 호출하기 위해 사용,
결과 데이터를 스트림 형식으로 제공받아 이용이 가능
데이터 타입이나 길이는 거의 제한이 없음, 주로 미리 길이를 알지못하는 스트림 데이터를 주고받는데 사용
public abstract class HttpURLConnection extends HttpURLConnection
Fields inherited from class java.net.URLConnection
allowUserInteraction, connected, doInput, doOutput, ifModifiedSince, url, useCaches
getAllowUserInteraction() : 연결된 곳에 사용자가 서버와 통신할 수 있는 환경여부를 확인(boolean), input/output이 해당서버, 연결포트로 가능한지 확인 getDefaultAllowUserInteraction(): 기본적으로 User와 통신가능한 상태인지 확인 connect() : 해당 url에 연결된 곳에 접속할 때 사용. false인 경우, 연결객체는 지정된 URL로 통신링크 작성하고 true인 경우에 통신링크가 설정되어 있음 setDoInput : URLConnection에 대한 doInput 필드값을 지정된 값으로 설정, URL 연결은 입출력에 사용될 수 있음 true로 설정시 서버통신에서 입력 가능한 상태로 설정(응답 헤더와 메시지 등을 Read) setDoOutput() : URLConnection에 대한 doOutput 필드값을 지정된 값으로 설정 true로 설정시 서버통신에서 출력 가능한 상태로 설정(outputstream으로 데이터 처리 등) (default : false) getDoInput() : Server에서 온 데이터를 입력 받을 수 있는 상태인지 여부를 확인(default : true) getDoOutput(): Server에서 온 데이터를 출력 할수 있는 상태인지 여부를 확인(default : false) ifModifiedSince : 일부 프로토콜은 개체가 특정 시간보다 더 최근에 수정되지 않은 경우 개체 가져 오기 건너 뛰기를 지원, 0이 아닌 값은 GMT 1970 년 1 월 1 일 이후의 밀리 초 수로 시간을 제공(default : 0) useCaches : true프로토콜은 가능할 때마다 캐싱을 사용할 수 있다. 즉 이전에 다운로드 받은 데이터를 사용할지에대한 여부 DefaultUseCaches에서 가져 오며 기본값은 true이다.
2) 오류 발생 상황
3.3) 아무 작업도 하지 않는 TrustManager를 설치하여 우회 하는 방법
사실 많은 구글링을 통해 위와 같은 대안을 제시하는경우를 많이 보았다. 물론 나도 위와 같이 처리하여 임시로 인증서 오류를 우회하여 처리하기도 하였다.
이와 같이 처리하는 경우 보안 이슈도 있으며, 앱의 경우 배포 리젝도 발생할 수 있으니 조심 하도록 하자. 사용하는 방법은 매우 간단하다.
다음 내용을 추가해주면 된다.