안녕하세요 저는 C#에서 webspider와 같은 것을 구축하고 있습니다. 내 연구에서 나는 링크가 내외부, 인바운드 또는 아웃 바운드인지 확인해야하는 문제를 발견했습니다. 그래서 나는 나를 위해 일하는 기능을 만들어야했다. 그래서 다음과 같은 기능을 생각해 냈지만 그 일을 성취하기 위해서는 최선의 노력이 될지 확실하지 않습니다. 그래서이 문제에 대한 여러분의 의견을 듣고 싶습니다.링크가 내부 또는 외부인지 확인하십시오.
링크 앞에 http : // 또는 https : //가없는 링크는 내부가 이고 도메인이 http://www.blahblah.com 인 경우 테스트와 같은 링크는 http가 있음에도 불구하고 여전히 내부에 있어야합니다. : // 앞에 있지만, http://www.somethingelse.com/?var1=http://www.blahblah.com/test과 같은 링크는 외부 문자입니다. 첫 문자 만 확인하고 있습니다.
private Boolean checklinkifinternal(String link)
{
Boolean isinternal = false;
if (link.IndexOf("http://") == 0 || link.IndexOf("https://") == 0)
{
//Then probably external
if (link.IndexOf("http://" + UrlName) == 0 || link.IndexOf("https://" + UrlName) == 0 || link.IndexOf("http://www." + UrlName) == 0 || link.IndexOf("https://www." + UrlName) == 0)
{
isinternal = true;
}
}
else
{
isinternal = true;
}
return isinternal;
}
사용중인 프로토콜에 따라 외부/내부 중 어떤 것이 있는지 어떻게 판단 할 수 있습니까? – Shai
http://127.0.0.1 또는 http://192.168.1.1은 무엇인가 내부적이지만 외부로 전달할 것입니다 – Lloyd
실제로 로이드를 생각하지 않았습니다 – themis