Поделиться через


WebException.Response Свойство

Определение

Получает ответ, возвращенный удаленным узлом.

public:
 property System::Net::WebResponse ^ Response { System::Net::WebResponse ^ get(); };
public System.Net.WebResponse Response { get; }
public System.Net.WebResponse? Response { get; }
member this.Response : System.Net.WebResponse
Public ReadOnly Property Response As WebResponse

Значение свойства

Если ответ доступен из интернет-ресурсов, экземпляр WebResponse, содержащий отклик из интернет-ресурса, в противном случае — null.

Примеры

В следующем примере проверяется Status свойство и выводится в консоль StatusCode и StatusDescription базового HttpWebResponse экземпляра .

try
{
   // Create a web request for an unknown server (this raises the WebException).
   HttpWebRequest^ myHttpWebRequest = (HttpWebRequest^)(WebRequest::Create( "http://unknown.unknown.com" ));
   
   // Get the associated response for the above request.
   HttpWebResponse^ myHttpWebResponse = (HttpWebResponse^)(myHttpWebRequest->GetResponse());
   myHttpWebResponse->Close();
}
catch ( WebException^ e ) 
{
   Console::WriteLine( "This program is expected to throw WebException on successful run." +
      "\n\nException Message : " + e->Message );
   if ( e->Status == WebExceptionStatus::ProtocolError )
   {
      Console::WriteLine( "Status Code: {0}", ( (HttpWebResponse^)(e->Response) )->StatusCode );
      Console::WriteLine( "Status Description: {0}", ( (HttpWebResponse^)(e->Response) )->StatusDescription );
   }
}
catch ( Exception^ e ) 
{
   Console::WriteLine( e->Message );
}
try {
   // Create a web request for an invalid site. Substitute the "invalid site" strong in the Create call with a invalid name.
     HttpWebRequest myHttpWebRequest = (HttpWebRequest) WebRequest.Create("invalid site");

    // Get the associated response for the above request.
     HttpWebResponse myHttpWebResponse = (HttpWebResponse) myHttpWebRequest.GetResponse();
    myHttpWebResponse.Close();
}
catch(WebException e) {
    Console.WriteLine("This program is expected to throw WebException on successful run."+
                        "\n\nException Message :" + e.Message);
    if(e.Status == WebExceptionStatus.ProtocolError) {
        Console.WriteLine("Status Code : {0}", ((HttpWebResponse)e.Response).StatusCode);
        Console.WriteLine("Status Description : {0}", ((HttpWebResponse)e.Response).StatusDescription);
    }
}
catch(Exception e) {
    Console.WriteLine(e.Message);
}
 Try
     'Create a web request for an invalid site. Substitute the "invalid site" strong in the Create call with a invalid name.
     Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create("invalid site"), HttpWebRequest)
     
     'Get the associated response for the above request.
     Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
     myHttpWebResponse.Close()
 Catch e As WebException
     Console.WriteLine(e.Message)
     
      If e.Status = WebExceptionStatus.ProtocolError Then
         Console.WriteLine("Status Code : {0}", CType(e.Response, HttpWebResponse).StatusCode)
         Console.WriteLine("Status Description : {0}", CType(e.Response, HttpWebResponse).StatusDescription)
     End If

Catch e As Exception
     Console.WriteLine(e.Message)
 End Try

Комментарии

Некоторые протоколы Интернета, такие как HTTP, возвращают допустимые в противном случае ответы, указывающие на то, что на уровне протокола произошла ошибка. Когда ответ на интернет-запрос указывает на ошибку, WebRequest.GetResponse задает свойству StatusWebExceptionStatus.ProtocolError значение и предоставляет WebResponse объект , содержащий сообщение об ошибке в Response свойстве вызванного WebException объекта . Приложение может изучить , WebResponse чтобы определить фактическую ошибку.

Применяется к