' pagecheck.vb Imports System Imports System.Net Class PageCheck ' urlにアクセスしてステータス・コードを返す Public Shared Function GetStatusCode(ByVal url As String) As HttpStatusCode Dim req As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest) Dim res As HttpWebResponse = Nothing Dim statusCode As HttpStatusCode Try res = CType(req.GetResponse(), HttpWebResponse) statusCode = res.StatusCode Catch ex As WebException res = CType(ex.Response, HttpWebResponse) If Not res Is Nothing Then statusCode = res.StatusCode Else Throw ' サーバ接続不可などの場合は再スロー End If Finally If Not res Is Nothing Then res.Close() End If End Try Return statusCode End Function ' ページが存在するかチェックするサンプル Shared Sub Main() Dim url As String = "http://www.atmarkit.co.jp/nosuchpage.html" WebRequest.DefaultWebProxy = Nothing ' プロキシ未使用を明示 Dim statusCode As HttpStatusCode = GetStatusCode(url) Dim code As Integer = CType(statusCode, Integer) ' 列挙体の値を数値に変換 If code >= 400 Then ' 4xx、5xxはアクセス失敗とする Console.WriteLine("ページは存在しないようです:" & code) Else Console.WriteLine("ページは存在します:" & code) End If ' 出力:ページは存在しないようです:404 End Sub End Class ' コンパイル方法:vbc pagecheck.vb