// pagecheck.cs using System; using System.Net; class PageCheck { // urlにアクセスしてステータス・コードを返す static public HttpStatusCode GetStatusCode(string url) { HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse res = null; HttpStatusCode statusCode; try { res = (HttpWebResponse)req.GetResponse(); statusCode = res.StatusCode; } catch (WebException ex) { res = (HttpWebResponse)ex.Response; if (res != null) { statusCode = res.StatusCode; } else { throw; // サーバ接続不可などの場合は再スロー } } finally { if (res != null) { res.Close(); } } return statusCode; } // ページが存在するかチェックするサンプル static void Main(string[] args) { string url = "http://www.atmarkit.co.jp/nosuchpage.html"; WebRequest.DefaultWebProxy = null; // プロキシ未使用を明示 HttpStatusCode statusCode = GetStatusCode(url); int code = (int)statusCode; // 列挙体の値を数値に変換 if (code >= 400) { // 4xx、5xxはアクセス失敗とする Console.WriteLine("ページは存在しないようです:" + code); } else { Console.WriteLine("ページは存在します:" + code); } // 出力:ページは存在しないようです:404 } } // コンパイル方法:csc pagecheck.cs