URL에서 도메인 이름 추출
이 질문은 URL에서 도메인 이름을 효과적으로 추출하는 방법을 모색합니다. 제공된 Java 코드가 합리적으로 작동하는 것처럼 보이지만 작성자는 신뢰성을 훼손할 수 있는 우수한 기술이나 잠재적인 극단적인 경우에 대해 문의합니다.
java.net.URI를 사용한 대체 구현
java.net.URL 대신 java.net.URI 클래스를 활용하여 URL을 구문 분석하는 보다 깔끔한 접근 방식을 권장합니다. 후자에는 신뢰할 수 없는 입력과 관련된 시나리오에서 코드를 취약점에 노출시킬 수 있는 문제가 있는 같음 메서드와 같은 알려진 문제가 있습니다.
public static String getDomainName(String url) throws URISyntaxException { URI uri = new URI(url); String domain = uri.getHost(); return domain.startsWith("www.") ? domain.substring(4) : domain; }
이 개선된 메서드는 잘못된 대소문자 또는 대소문자와 관련된 극단적인 사례를 처리하는 동안 도메인 이름을 효과적으로 검색해야 합니다. "www" 접두사의 변형.
고려해야 할 추가 예외 사례
원본 코드는 특정 URL 형식을 설명하지 못합니다:
이러한 극단적인 경우를 해결하려면 URI 참조를 구문 분석하고 이를 개별 구성 요소로 분류하기 위한 포괄적인 정규식을 제공하는 RFC 3986의 부록 B를 참조하는 것이 좋습니다.
위 내용은 URL에서 도메인 이름을 안정적으로 추출하는 방법: 대체 기술 및 극단적 사례의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!