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 чтобы определить фактическую ошибку.