자바 URL 클래스에 들어가보니
생성자가 몇개 있었습니다
URL(String)인 경우 this를 타고 들어가던데
마지막에 URL(null, "url", null) 생성자가 호출되더라구요
디버깅을 해보니 첫번째 파라미터가 null이라서 기본값으로 필드 변수가 초기화 된것 같습니다
포트 넘버 같은 경우는 -1 (레퍼런스를 읽어보니 웹서버? 포트가 기본으로 잡혀있다면(80) -1이 리턴되는거 같구요
실제로 .getDefaultPort() 메서드를 실행했을 때 80이라고 나왔는데
소스를따라 가보니
URLStreamHandler handler의 return handler.getDefaultPort() 가실행되고
protected int getDefaultPort() {
return -1;
}
가 최종적으로 실행되던데
80번은 어디서 만들어지는건지 모르겠네요 ㅡ.ㅡ;;
아까 정규식으로 하라는건
dcinside.com:8080 이런 경우를 말하는것 같고
제가 스트링만으로 포트 넘버를 구하려면
그 주소와 통신을 하고 주고 받은 메시지에서 찾아내도록 구현해야할까요?
어렵네요 ㅜㅜㅜ
댓글 0