2009-02-05 5 views
1

게시물 httpwebrequst를 만들고 있지만 HttpWebResponse에서 오류 코드 403을 금지하는 중입니다. 이제 그 오류는 나에게 전적으로 사용되지 않습니다.HttpWebResponse에서 자세한 정보를 얻는 방법

나는 다음과 같은 소스 코드를 가지고 있지 않은 테스트 프로그램을 시도해 보았고 동일한 게시물을 만들 때 사용했다. 그리고 코드 403과 함께 반환되었지만 그에게 SSL이 필요하다고 말했다. 그것은 가능한 실패 HttpWebRequest를 그 바로 에러 코드에서 더 많은 "서버 측"세부 사항을 얻으려면?

그냥 물건을 취소하면


감사합니다. 인스턴트 메신저 (403)를 받고, 난 그냥 궁금 그것의 좋은 것을 테스트 프로그램에서 웹 예외 상황과 같은 것을 볼 수있을 때 SSL이 필요하다는 것을 SSL이 알 수있는 이유는 무엇입니까?

+0

실행중인 환경에 대한 자세한 정보를 추가 할 수 있습니까? –

답변

2

프로토콜 오류로 인해 WebException이 throw 된 경우 응답 속성에는 웹 서버에서 수신 한 실제 응답이 포함됩니다.

try 
{ 
    // Do WebRequest 
} 
catch (WebException ex) 
{ 
    if (ex.Status == WebExceptionStatus.ProtocolError) 
    { 
     HttpWebResponse response = ex.Response as HttpWebResponse; 
     if (response != null) 
     { 
      // Process response 
     } 
    } 
} 
1

더 자세한 정보를 요구하는 명확한 방법은 없습니다. 기본적으로 나중에 얻을 내용을 얻을 수 있습니다.

그런데 웹 서버는 종종 SSL 인증서 문제를 설명하는 것과 같은 유용한 정보가 포함 된 오류 코드와 함께 문서를 반환합니다. 이와 같은 문제에 대해 도움을 받으려면 Fiddler을 확인하십시오. 서버 응답에 대해 알고있는 모든 정보가 표시됩니다.

귀하의 특별한 오류에 관해서는 말하기 어렵습니다. 403은 몇 가지 다른 것을 나타낼 수 있습니다. 그러나 SSL 관련 조치를 취한 응답이있는 경우 잘못된 인증서 또는 만료 된 인증서 (see this question)를 처리하거나 서버가 보안 연결을 필요로하지만 서버를 가져 오지 못하고있을 수 있습니다. 웹 브라우저에서 URL을 직접 누르려고했는데 인증서 문제 또는 중개되지 않은 403 응답 이외의 메시지가 표시되는지 여부를 묻는 메시지가 표시되는지 여부를 확인 했습니까?

관련 문제