Java 클래스 라이브러리에있는 URL 클래스의 equals()
메소드는 두 IP의 동등성을 확인하기 위해 호스트 이름에 대한 IP를 얻기 위해 DNS 요청을합니다. 이는 동일한 String
에서 생성 된 URL에 대해서도 발생합니다. 이 인터넷 접속을 피할 수있는 방법이 있습니까?URL.equals가 Java로 인터넷에 액세스해야하는 것을 피하는 방법은 무엇입니까?
답변
사용 java.net.URI 대신 URL을 시도합니다.
URL.equals를 사용하지 마십시오. 문서가 말한대로,
참고 :
equals
에 대한 정의 된 동작은 HTTP 가상 호스트와 일치하지 않는 것이 알려져 있습니다. 그냥 URL 문자열을 비교하려면
평등성 테스트는 어떻게해야합니까? – Mnementh
toString() 또는 toExternalForm()을 사용하여 외부 양식을 가져 와서 비교할 수 있습니다. 예비 테스트는 DNS에 액세스하지 못한다는 것을 보여줍니다. –
방금 빌의 대답을지지했다. URL 객체에서 toURI()를 호출하면됩니다. –
,
url1.toString().equals(url2.toString())
두 문자열은 크게 다를 수 있지만 동일한 리소스를 가리 킵니다. –
URL로 참조되는 리소스를 확인하려면 인터넷 액세스가 필요합니다. 그러므로 나는 그가 자신들의 URL을 비교하기를 원한다는 가정을했다. 따라서 "URL 문자열 비교를 원한다면"에 대한 나의 자격. – Rick
- 1. Ext.form.ComboBox에서 텍스트를로드하는 것을 피하는 방법은 무엇입니까?
- 2. 레일 경로를 해결하는 것을 피하는 방법은 무엇입니까?
- 3. 이맥스에서 실수로 텍스트를 죽이는 것을 피하는 방법은 무엇입니까?
- 4. 모든 .cs 파일에서 연산자를 사용하는 것을 피하는 방법은 무엇입니까?
- 5. 자바의 루프에서 객체를 자주 만드는 것을 피하는 방법은 무엇입니까?
- 6. 수동으로 시작한 스레드가 죽는 것을 피하는 방법은 무엇입니까?
- 7. django에서 다수의 사용자와 사용자 이름이 충돌하는 것을 피하는 방법은 무엇입니까?
- 8. OLEDB가 "."을 열 이름의 "#"로 변환하는 것을 피하는 방법은 무엇입니까?
- 9. MySQL 데이터베이스의 부하가 높아지는 것을 피하는 방법은 무엇입니까?
- 10. ByteBuffer의 방어 복사본을 만드는 것을 피하는 방법은 무엇입니까?
- 11. typedef를 피하는 방법은 무엇입니까?
- 12. SynchronizationLockException을 피하는 방법은 무엇입니까?
- 13. 프롤로그에서 반복되는 것을 피하는 방법
- 14. 이중 요청을 피하는 방법은 무엇입니까?
- 15. Java로 GUI를 만드는 방법은 무엇입니까?
- 16. varchar를 java로 변환하는 방법은 무엇입니까?
- 17. Java로 이벤트를 보내는 방법은 무엇입니까?
- 18. 컴퓨터가 인터넷에 연결되어 있는지 확인하는 방법은 무엇입니까?
- 19. WIFI가 인터넷에 연결되어있을 때를 감지하는 방법은 무엇입니까?
- 20. iPhone 시뮬레이터에서 인터넷에 액세스하는 방법은 무엇입니까?
- 21. 프로그래밍 방식으로 인터넷에 연결하는 방법은 무엇입니까?
- 22. Java로 패키지를 문서화하는 방법은 무엇입니까?
- 23. Java로 사운드를 처리하는 방법은 무엇입니까?
- 24. Java로 개체를 복사하는 방법은 무엇입니까?
- 25. Java로 RMAN에 연결하는 방법은 무엇입니까?
- 26. Java로 타이머를 만드는 방법은 무엇입니까?
- 27. Java로 양식을 처리하는 방법은 무엇입니까?
- 28. Java로 쿠키를 얻는 방법은 무엇입니까?
- 29. 음수 값을 피하는 방법은 무엇입니까?
- 30. .pyc 파일을 피하는 방법은 무엇입니까?
그리고 이것은 의미 론적 의미를 만들어줍니다. 왜냐하면 Locations보다는 Identifier를 비교하기를 원하기 때문입니다 – Gareth