2013-10-03 2 views
0

여기에 HttpWebRequest 코드가 있지만 웹 사이트를 지정하면 웹 요청을 계속 수행합니다. 즉, 웹 사이트가 오프라인 일 때도 계속됩니다. 즉, 요청이 있어도 여전히 웹 요청을 계속 만듭니다. 처음에는 절대로 일어나지 않았습니다.VB.net이 실패한 HttpWebRequest를 감지했습니다.

  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() 

어떻게 내가 트랩이는 요청을 중지 할 수 있도록 오프라인 웹 사이트와 WebRequest 클래스을 시도 할 때마다이 WebRequest 클래스 : 여기

내 코드?

답변

1

요청 스트림을 요청하기 전에 응답을받지 못했습니다.

이 줄 :

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

당신이 웹 응답 상태 코드를 얻을 수

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

그리고 당신이 얻을 응답을 요청 후 (404 ... 500 오류가 발견되지 않음) requestStream :

Dim requestStream As Stream = request.GetRequestStream() 
+0

응답을받는 기간은 웹 사이트의 서버 호스트에 따라 다릅니 까? –

+0

설정 한 시간 제한에 따라 다릅니다. request.Timeout = 500 밀리 초를 사용했습니다. –

+0

아, 지금 받으십시오. 그래서 나는 여전히 이전과 같은 속도를 얻을 것입니다. 감사. –

관련 문제