次のコードは、rapidshare、extabit、turbobit などのファイル ホスティング サービスからのリンクの可用性を確認することを目的としています。以下に記述したコードは、リンクが実際には有効であるため、常に HttpStatusCode "OK" を返しますが、リンク内のファイルが利用できないか、ファイルがありません。サービスによって提供される API を使用せずに、必要なものを確認する方法はありますか?
private bool LinkChecker(string url)
{
string result = string.Empty;
Uri urlCheck = new Uri(url);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlCheck);
request.Timeout = 15000;
HttpWebResponse response = null;
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch (Exception err)
{
return false;
}
switch ((HttpStatusCode)response.StatusCode)
{
case HttpStatusCode.OK:
result = "Ok";
break;
case HttpStatusCode.BadGateway:
result = "No Internet";
break;
case HttpStatusCode.Forbidden:
result = "Link Not Found";
break;
case HttpStatusCode.NotFound:
result = "Link Not Found";
break;
}
if (result == "Ok")
return true;
else
return false;
}