0

次の関数を使用すると、3 つのエラーが発生します。

Private Sub readWebpage(ByVal url As String)
    Try
        Dim req As System.Net.WebRequest = System.Net.WebRequest.Create(url)
        Dim resp As System.Net.WebResponse = req.GetResponse
        If Not resp.ContentType.Contains("text/html") And Not resp.ContentType.Contains("application/xhtml+xml") Then Exit Sub
        Using Str As System.IO.Stream = resp.GetResponseStream
            Using srRead As System.IO.StreamReader = New System.IO.StreamReader(Str)
                parseHtml(srRead.ReadToEnd, url)
            End Using
        End Using
    Catch ex As Exception
        Debug.Print(ex.Message)
        Debug.Print(url)
        MsgBox(ex.Message, MsgBoxStyle.Critical, "Unable to download content from: " & url)
    End Try
End Sub

リモート サーバーがエラーを返しました: (500) 内部サーバー エラー。

サーバーがプロトコル違反を犯しました。Section=ResponseStatusLine

リモート名を解決できませんでした: 'dmoz.orgsearch'

これらのエラーを防ぐにはどうすればよいですか?

4

1 に答える 1

1

リモート エラーを防ぐことはできません。達成できる最善の方法は、現在の方法で例外をキャッチすることです。

ただし、間違った URL を使用していることをお勧めします -dmoz.orgsearch存在しません。

これは次のようになるはずでした: http://www.dmoz.org/search?q=myquery?

使用している URL の形式が正しくない場合、それに対してできることはあまりありません。

于 2010-12-26T15:05:41.733 に答える