このようなコードを実装する方法はたくさんあります。 私たちがする必要があるのは、ファイルをダウンロードしようとすることです。ファイルが存在しない場合(AKAリンクが壊れている場合)、例外が発生し、falseを返します。ここ
は一例です:
public bool checkWebsite(string URL) {
try {
WebClient wc = new WebClient();
string HTMLSource = wc.DownloadString(URL);
return true;
}
catch (Exception) {
return false;
}
}
と使用方法:テストを実行する
//The checkWebsite command will return true:
bool websiteExists = this.checkWebsite("https://www.google.com");
bool websiteExists2 = this.checkWebsite("https://www.beucbeiucbeuiceiuhc.com/nonExist");
別FASTER方法は、GETリクエストのHEADリクエストinstadeを試みることです。このようにして、テストのスピードを向上させることができます。そのため
class MyClient : WebClient
{
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest req = base.GetWebRequest(address);
req.Method = "HEAD";
return req;
}
}
public bool checkWebsite(string URL) {
try {
MyClient wc = new MyClient();
string HTMLSource = wc.DownloadString(URL);
return true;
}
catch (Exception) {
return false;
}
}
ありがとう:ここ
は、そのメソッドのいくつかの例です。私は2週間ごとにそれをどのように設定するのですか?次に、壊れているURLのレポートを印刷しますか? – DBoi
基本的には、dbからURLリストを取得するスクリプトにこのコードを置き、checkWebsite関数を使用してそれらを1つずつ処理する必要があります。その後、現在の日付のファイルに出力をエクスポートすることができます。 2週間ごとにコードを実行するscedualタスクですべてをラップします。 –