0

私はここで動作する HttpWebRequest コードを持っていますが、私の問題は、指定する Web サイトがオフラインであっても WebRequest を実行し続けることです。

これが私のコードです:

            Dim cweb As String = "http://samplewebsiteform.com"
    Dim POST As String = "name=TestName&age=50"
            Dim request As HttpWebRequest

                request = CType(WebRequest.Create(cweb), HttpWebRequest)
                request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36"
                request.AllowAutoRedirect = False
                request.ContentType = "application/x-www-form-urlencoded"
                request.ContentLength = POST.Length
                request.Method = "POST"
                request.KeepAlive = False
                request.Timeout = 500

                Dim requestStream As Stream = request.GetRequestStream()
                Dim postBytes As Byte() = Encoding.ASCII.GetBytes(POST)
                requestStream.Write(postBytes, 0, postBytes.Length)
                requestStream.Close()

オフライン Web サイトで Web リクエストを作成しようとするたびに、この Web リクエストをトラップして、リクエストの作成を停止するにはどうすればよいですか?

4

1 に答える 1

1

リクエスト ストリームをリクエストする前にレスポンスを取得していません。

この行:

 Dim resphttp As HttpWebResponse = CType(HttpWebResponse, request.GetResponse)

Web 応答ステータス コード (404 が見つかりません、500 エラーなど) を取得できます。

 If resphttp.StatusCode <> Net.HttpStatusCode.Accepted Then
        'There was an error
 End If

そして、応答を要求した後、requestStream を取得します。

 Dim requestStream As Stream = request.GetRequestStream()
于 2013-10-03T08:26:47.920 に答える