こんにちは、私はC#でwebspiderのようなものを構築しています。私の研究では、私はリンクが内部または外部、インバウンドまたはアウトバウンドであるかどうかを調べる必要があるという問題に遭遇しました。だから私は私のために仕事をするための機能を作り出す必要があった。だから私は次の機能を思いついたが、私はその仕事を達成するための最良の可能性があるかどうかわからない。だから私はこの問題にあなたの意見を欲しいです。リンクが内部か外部かを確認してください。
私にはHTTPとリンクすることをasume://または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