링크 가 사이트 주소 인지 판단 하기
5986 단어 링크
우리 가 가 져 와 야 할 도 메 인 이름 은:www.51dota.cn
다음은 프로그램 을 시작 하 겠 습 니 다.
우선"http:/"와"/"와 같은 접 두 사 를 제거 하 는 방법 을 쓰 겠 습 니 다.
/**
*
* :
*
* @author liming
* @time 2012-3-5 02:38:57
*
* @param url
* @return
*/
public static String trimHttpHead(String url) {
int i = url.indexOf("://");
int urlLen = url.length();
// http://
if (i == 4) {
String httpStart = url.substring(0, 7);
if ("http://".equals(httpStart.toLowerCase())) {
url = url.substring(i + 3, urlLen);
urlLen = urlLen - 7;
}
}
// https://
if (i == 5) {
String httpStart = url.substring(0, 8);
if ("https://".equals(httpStart.toLowerCase())) {
url = url.substring(i + 4, urlLen);
urlLen = urlLen - 8;
}
}
int j = url.lastIndexOf("/");
// "/"
if (j == urlLen - 1)
url = url.substring(0, urlLen - 1);
return url;
}
코드 는 현재 필요 하지 않 은 접 두 사 를 문자열 로 캡 처 하여 모든 사이트 주 소 를 통일 시 켜 관리 하 는 것 입 니 다.
앞 접 두 사 를 지 운 후에 우 리 는 이 사이트 에 접근 할 수 있 는 지 여 부 를 판단 합 니 다.
/**
*
* :
*
* @author liming
* @time 2012-3-7 11:27:01
*
* @param url
* @return
*/
public static boolean isUrl(String url) {
URL urlTemp = null;
HttpURLConnection connt = null;
try {
urlTemp = new URL(Constants.HTTP + trimHttpHead(url));
connt = (HttpURLConnection) urlTemp.openConnection();
connt.setRequestMethod("HEAD");
int returnCode = connt.getResponseCode();
if (returnCode == HttpURLConnection.HTTP_OK) {
return true;
}
} catch (Exception e) {
return false;
} finally {
connt.disconnect();
}
return false;
}
이렇게 하면 이 url 이 실제 사이트 인지,방문 할 수 있 는 지 를 알 수 있다.
그 후에 우 리 는 마지막 으로 이 사이트 의 사이트 도 메 인 주 소 를 찾 습 니 다.
/**
*
* :
* @author liming
* @time 2012-6-6 02:22:33
*
* @param url
* @return
*/
public static String getWebSiteUrl(String url) {
if (isUrl(url)) {
String simpleUrl = trimHttpHead(url);
if (simpleUrl.indexOf(".com") != -1)
return simpleUrl.substring(0, simpleUrl.indexOf(".com") + 4);
if (simpleUrl.indexOf(".net") != -1)
return simpleUrl.substring(0, simpleUrl.indexOf(".net") + 4);
if (simpleUrl.indexOf(".org") != -1)
return simpleUrl.substring(0, simpleUrl.indexOf(".org") + 4);
if (simpleUrl.indexOf(".mobi") != -1)
return simpleUrl.substring(0, simpleUrl.indexOf(".mobi") + 5);
if (simpleUrl.indexOf(".info") != -1)
return simpleUrl.substring(0, simpleUrl.indexOf(".info") + 5);
if (simpleUrl.indexOf(".biz") != -1)
return simpleUrl.substring(0, simpleUrl.indexOf(".biz") + 4);
if (simpleUrl.indexOf(".cc") != -1)
return simpleUrl.substring(0, simpleUrl.indexOf(".cc") + 4);
if (simpleUrl.indexOf(".tv") != -1)
return simpleUrl.substring(0, simpleUrl.indexOf(".tv") + 4);
if (simpleUrl.indexOf(".asia") != -1)
return simpleUrl.substring(0, simpleUrl.indexOf(".asia") + 5);
if (simpleUrl.indexOf(".me") != -1)
return simpleUrl.substring(0, simpleUrl.indexOf(".me") + 4);
if (simpleUrl.indexOf(".travel") != -1)
return simpleUrl.substring(0, simpleUrl.indexOf(".travel") + 7);
if (simpleUrl.indexOf(".tel") != -1)
return simpleUrl.substring(0, simpleUrl.indexOf(".tel") + 4);
if (simpleUrl.indexOf(".name") != -1)
return simpleUrl.substring(0, simpleUrl.indexOf(".name") + 5);
if (simpleUrl.indexOf(".co") != -1)
return simpleUrl.substring(0, simpleUrl.indexOf(".co") + 3);
if (simpleUrl.indexOf(".so") != -1)
return simpleUrl.substring(0, simpleUrl.indexOf(".so") + 3);
if (simpleUrl.indexOf(".cn") != -1)
return simpleUrl.substring(0, simpleUrl.indexOf(".cn") + 3);
if (simpleUrl.indexOf(".com.cn") != -1)
return simpleUrl.substring(0, simpleUrl.indexOf(".com.cn") + 7);
if (simpleUrl.indexOf(".net.cn") != -1)
return simpleUrl.substring(0, simpleUrl.indexOf(".net.cn") + 7);
if (simpleUrl.indexOf(".org.cn") != -1)
return simpleUrl.substring(0, simpleUrl.indexOf(".org.cn") + 7);
if (simpleUrl.indexOf(".gov.cn") != -1)
return simpleUrl.substring(0, simpleUrl.indexOf(".gov.cn") + 7);
if (simpleUrl.indexOf(".hk") != -1)
return simpleUrl.substring(0, simpleUrl.indexOf(".hk") + 3);
}
return "";
}
사실 이 코드 는 복잡성 이 없습니다.문자열 에 도 메 인 이름 의 접미사 가 있 는 지 여 부 를 판단 하 는 것 입 니 다.이상 은 모든 통용 도 메 인 이름 입 니 다.다른 도 메 인 이름 을 추가 하려 면 뒤에서 계속 판단 할 수 있 습 니 다.
물론 당신 도 매우 간단 한 방법 을 사용 할 수 있 습 니 다.
new URL("http://www.yousaoqi.com/forum.php").getHost()
마찬가지 로 사이트 도 메 인 이름 을 얻 을 수 있 습 니 다.이런 것들 은 주로 여러분 의 생각 을 단련 시 켜 자바 를 더욱 잘 배우 고 이해 하 는 것 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WRF > WPS > Link > Geographical Input Data Downloads/WPS 테스트 실행WRF에서 geogrid.exe를 실행할 때 사용할 데이터에 대한 링크 geogrid.exe를 실행할 때 다음과 같은 오류가 발생했습니다. 상기에 대응하는 데이터로서는 앞의 링크의 topo_10m 를 선택하면 좋을 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.