私はウィッヒURLパスを取得し、このURLにリダイレクトし、簡単なコードを持っています、URLの有効なURLアドレスを確認するにはどうすればよいですか?
private void Redirect(String path)
{
Uri validatedUri = null;
var result = Uri.TryCreate(HelpURL + path, UriKind.Absolute, out validatedUri);
if (result&&validatedUri!=null)
{
var wellFormed = Uri.IsWellFormedUriString(HelpURL + path, UriKind.Absolute);
if(wellFormed)
{
Response.Write("Redirect to: " + HelpURL + path);
Response.AddHeader("REFRESH", "1;URL=" + HelpURL + path);
}
else //error
{
Response.Write(String.Format("Validation Uri error!", path));
}
}
else
{
Response.Write(String.Format("Validation Uri error!", path));
}
}
例:http://web-server/SomeSystemindex.html
を。有効なアドレスではありませんが、 、私のコードresult
が真、wellFormed
もtrueです!
どのようにURLアドレスを検証するのですか?
P.S.この場合、HelpUrl + path = http://web-server/SomeSystemindex.html
HelpUrlが「http://web-server/SomeSystem」であり、パス= index.html
P.P.私はMartinが言うように - 接続を作成し、ステータスコードをチェックします。
HttpWebRequest req = WebRequest.Create(HelpURL + path) as HttpWebRequest;
req.UseDefaultCredentials = true;
req.PreAuthenticate = true;
req.Credentials = CredentialCache.DefaultCredentials;
var statusCode= ((HttpWebResponse)req.GetResponse()).StatusCode;
if (statusCode == HttpStatusCode.NotFound)
isValid = false;
else if (statusCode == HttpStatusCode.Gone)
isValid = false;
else
{
isValid = true;
}
あなたは "とはどういう意味ですかを有効ですか? 'http:// web-server/SomeSystemindex.html'は間違いなく有効なURIです。 –
これは実際に有効なURLですか?あなたはどうやってそれが有効ではないと言っていますか? – Rahul
@EliArbel、私はブラウザがこのURLにナビゲートできないことを意味します.. –