2011-04-20 6 views
1

WebRequest을 작성하여 일부 HTML 컨텐츠를 다른 웹 서버에 게시하십시오. 일반 텍스트 콘텐츠를 사용하면 작동하지만, HTML 콘텐츠를 게시 할 때 GetResponse()을 호출 할 때 시간 초과 오류가 발생합니다.GetResponse() 호출시 예외 시간 초과

WebResponse response = request.GetResponse() 

어떻게 문제를 알 수 있습니까? WebException에 대한 오류 처리기를 추가하려고 시도했지만 예외를 잡을 수 없습니다.

요청 코드 :

byte[] byteArray = Encoding.UTF8.GetBytes(sPostData); 

// Create a request using a URL that can receive a post. 
WebRequest request = WebRequest.Create(httpUri); 
// Set the 'Timeout' property in Milliseconds. 
//request.Timeout = 20000; 
// Set the ContentType property of the WebRequest. 
request.ContentType = contentType; 
// Set the Method property of the request to POST. 
request.Method = postMethod; 
// Set the ContentLength property of the WebRequest. 
request.ContentLength = byteArray.Length; 
// Get the request stream. 
using (Stream PostStream = request.GetRequestStream()) 
{ 
    PostStream.Write(byteArray, 0, byteArray.Length); 
} 
// Get the response. 
using (WebResponse response = request.GetResponse()) 
{ 
    // Get the stream containing content returned by the server. 
    using (Stream responseStream = response.GetResponseStream()) 
    { 
     using (StreamReader reader = new StreamReader(responseStream)) 
     { 
      string responseFromServer = reader.ReadToEnd(); 

      result = responseFromServer; 
     } 
    } 
} 
+0

요청 코드도 표시 할 수 있습니까? – BrokenGlass

+0

질문에 추가 된 요청 코드를 참조하십시오 – Roshe

+0

어떤 아이디어라도 있으십니까? – Roshe

답변

0

당신은 Fiddler 또는 다른 해당 응용 프로그램을 사용하여 네트워크 트래픽을 보일 것입니다. 이것은 서버가 전혀 응답하는지 또는 늦게 응답 하는지를 보여줍니다.

또한 서버 로그 또는 Windows 이벤트 로그를 살펴 봐야합니다. 서버가 HTML을 보내는 것을 좋아하지 않고 오류를 기록하는 것일 수도 있습니다. 이 경우 단순히 해킹하려고한다고 결정할 수 있으며 답장을받지 않을 수도 있습니다.

+0

답장을 보내 주신 John 께 감사드립니다. 작동은 다음과 같이 내가

테스트

, HTML을 수정하면 나는 그것이 문제가 될 것입니다, HTML에서 일부 태국어 문자가? – Roshe

+0

제대로 인코딩 했습니까? –

+0

다음을 사용합니다. byte [] byteArray = Encoding.UTF8.GetBytes (sPostData); – Roshe