일부 웹 크롤링을 시도하고 슬래시를 추가할지 여부를 결정할 때가 왔습니다. 일부 사이트에는 마지막에 사이트가 있고 일부 브라우저에는 잘못된 URL을 입력하면 제대로 된 사이트로 리디렉션된다는 것을 알고 있습니다. 정규화는 끝에 슬래시를 추가하지만 상대 URL을 절대로 변환하려고하면 문제가 발생합니다.URL 끝에 슬래시가 있어야합니다.
사용자가 절대 URLhttp://stack.com/more
하지만 실제 (리다이렉트) URL이
http://stack.com/more/
이고 상대 URL 그럼
URL newurl = new URL(url, relativeURL);
수율 http://stack.com/index.html
(비 존재하지 않는 페이지)
index.html
인을 선택하면, 예를 들어
실제로해야 할 때 http://stack.com/more/index.html
(실제 페이지)
Doese 누구든지 좋은 방법을 알고 있습니다. 끝에 슬래시를 올바르게 추가 하시겠습니까?
예를 들어, 상대 URL에 /가 처음에는 없기 때문에 미안하다. URL에 /가 있어야하는지 잘 모릅니다. 올바른 URL을 결정하는 전략이 있습니까? 귀하의 경우,'http : // stack.com/more/index.html' – Dan
@Dan :'http : // stack.com/more' +'index.html'은 올바르게'http://stack.com입니다./index.html'이 아니라'http : // stack.com/more/index.html'을 참조하십시오. 나는 그것들을 결합하는 방법을 알 수있는 유일한 방법은 당신이 처음 것의 표준 형태를 가지는지 확인하는 것입니다. 사이트가'http : // stack '에 응답하면.com/more'를'http : // stack.com/more /'로 리디렉션하면'index.html'을 추가하는 것이'http : // stack.com/more/index.html'이어야합니다. 'http : // stack.com/more'에 직접 응답하면'index.html'을 추가하는 것은'http : // stack.com/index.html'이어야합니다. –