投稿者 Keno31o  (小学生) 投稿日時 2009/12/24 06:35:31
てっきりPCの中にあるものを調べるのかと思ってました・・w
http://www.atmarkit.co.jp/fdotnet/dotnettips/817httpstatus/httpstatus.htmlを改良してみましたが、存在しないと、例外で停止してしまいます。

Imports System
Imports System.Net

Public Class Form1
    Dim Internet_ini As Net.WebClient = New Net.WebClient()
    Dim inid As String = "http://***/cats.ini"
    Dim Internet_rtf As Net.WebClient = New Net.WebClient()
    Dim rtf As String = "http://***/top.rtf"
    Dim url As String = "http://www.yahoo.co.jp/hoge.html"



   

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


        WebRequest.DefaultWebProxy = Nothing

        Dim statusCode As HttpStatusCode = GetStatusCode(rtf)

        Dim code As Integer = CType(statusCode, Integer)

        If code >= 400 Then
            'Richtextbox1にerror.rtfを 仮にerrorと表示
            RichTextBox1.Text = "ERROR"
        Else
            Internet_rtf.DownloadFile(rtf, Me.RichTextBox1.Text)
            Dim ini As String = Internet_ini.DownloadString(inid)

        End If
    End Sub

    Public Shared Function GetStatusCode(ByVal url As String) As HttpStatusCode
        
        Dim rtf As String = "http://***/top.rtf"

        Dim statusCode As HttpStatusCode

        Dim req As HttpWebRequest = _
                  CType(WebRequest.Create(rtf), HttpWebRequest)
      
        Dim res As HttpWebResponse = Nothing
        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
    
End Class

どうやって改良したらいいのか・・・
徹夜で考えます。もう少しお時間ください。