(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

HttpWebRequest.GetResponse-Methode

Gibt eine Antwort von einer Internetressource zurück.

Namespace:  System.Net
Assembly:  System (in System.dll)

public override WebResponse GetResponse()

Rückgabewert

Typ: System.Net.WebResponse
Eine WebResponse mit der Antwort von der Internetressource.

AusnahmeBedingung
InvalidOperationException

Der Stream wird bereits von einem vorherigen Aufruf von BeginGetResponse verwendet.

- oder -

TransferEncoding ist auf einen Wert festgelegt, und SendChunked ist false.

ProtocolViolationException

Method ist GET oder HEAD, und entweder ist ContentLength größer oder gleich 0 (null), oder SendChunked ist true.

- oder -

KeepAlive ist true, AllowWriteStreamBuffering ist false, ContentLength ist -1, SendChunked ist false, und Method ist POST oder PUT.

- oder -

Der HttpWebRequest hat einen Entitätstext, aber die GetResponse-Methode wird aufgerufen, ohne die GetRequestStream-Methode aufzurufen.

- oder -

ContentLength ist größer als 0 (null), aber die Anwendung schreibt nicht alle versprochenen Daten.

NotSupportedException

Die Cachebestätigung der Anforderung hat angegeben, dass die Antwort für diese Anforderung vom Cache bereitgestellt werden kann. Diese Anforderung enthält jedoch Daten, die an den Server gesendet werden sollen. Anforderungen, die Daten senden, dürfen den Cache nicht verwenden. Diese Ausnahme kann auftreten, wenn Sie eine benutzerdefinierte Cachebestätigung verwenden, die nicht ordnungsgemäß implementiert wurde.

WebException

Abort wurde bereits zuvor aufgerufen.

- oder -

Das Timeout für die Anforderung ist abgelaufen.

- oder -

Fehler bei der Verarbeitung der Anforderung.

Die GetResponse-Methode gibt ein WebResponse-Objekt mit der Antwort von der Internetressource zurück. Die zurückgegebene tatsächliche Instanz ist eine HttpWebResponse, die für den Zugriff auf HTTP-spezifische Eigenschaften in diese Klasse umgewandelt werden kann.

Eine ProtocolViolationException wird in mehreren Fällen ausgelöst, wenn ein Konflikt zwischen den für die HttpWebRequest-Klasse festgelegten Eigenschaften besteht. Diese Ausnahme tritt auf, wenn eine Anwendung die ContentLength-Eigenschaft und die SendChunked-Eigenschaft auf true festlegt und dann eine HTTP GET-Anforderung sendet. Diese Ausnahme tritt auf, wenn eine Anwendung versucht, segmentierte Anforderungen an einen Server zu senden, der nur das HTTP 1.0-Protokoll unterstützt, aber das Senden segmentierter Anforderungen nicht unterstützt. Diese Ausnahme tritt auf, wenn eine Anwendung versucht, Daten zu senden, ohne die ContentLength-Eigenschaft festzulegen, oder wenn SendChunked auf false festgelegt ist und in diesen Fällen die Pufferung deaktiviert ist und eine Keep-Alive-Verbindung besteht (die KeepAlive-Eigenschaft ist true).

WarnhinweisVorsicht

Sie müssen die Close-Methode aufrufen, um den Stream zu schließen und die Verbindung freizugeben. Andernfalls stehen der Anwendung möglicherweise nicht ausreichend Verbindungen zur Verfügung.

Bei Verwendung der POST-Methode müssen Sie den Anforderungsstream abrufen, die zu sendenden Daten schreiben und den Stream schließen. Diese Methode ist beim Warten auf das Senden des Inhalts blockiert. Wenn kein Timeout festgelegt ist und Sie keinen Inhalt bereitstellen, ist der aufrufende Thread unbegrenzt blockiert.

HinweisHinweis

Mehrere Aufrufe von GetResponse geben das gleiche Antwortobjekt zurück. Die Anforderung wird nicht erneut gesendet.

HinweisHinweis

Die Anwendung kann für eine bestimmte Anforderung keine synchronen und asynchronen Methoden kombinieren. Wenn Sie die GetRequestStream-Methode aufrufen, müssen Sie die GetResponse-Methode verwenden, um die Antwort abzurufen.

HinweisHinweis

Wenn eine WebException ausgelöst wird, verwenden Sie die Response-Eigenschaft und die Status-Eigenschaft der Ausnahme, um die Antwort des Servers zu bestimmen.

HinweisHinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung.

HinweisHinweis

Cookies sind aus Sicherheitsgründen standardmäßig deaktiviert. Wenn Sie Cookies verwenden möchten, aktivieren Sie Cookies mithilfe der CookieContainer-Eigenschaft.

Im folgenden Codebeispiel wird die Antwort auf eine Anforderung abgerufen.


using System;
using System.Net;
using System.Text;
using System.IO;


    public class Test
    {
        // Specify the URL to receive the request.
        public static void Main (string[] args)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create (args[0]);

            // Set some reasonable limits on resources used by this request
            request.MaximumAutomaticRedirections = 4;
            request.MaximumResponseHeadersLength = 4;
            // Set credentials to use for this request.
            request.Credentials = CredentialCache.DefaultCredentials;
            HttpWebResponse response = (HttpWebResponse)request.GetResponse ();

            Console.WriteLine ("Content length is {0}", response.ContentLength);
            Console.WriteLine ("Content type is {0}", response.ContentType);

            // Get the stream associated with the response.
            Stream receiveStream = response.GetResponseStream ();

            // Pipes the stream to a higher level stream reader with the required encoding format. 
            StreamReader readStream = new StreamReader (receiveStream, Encoding.UTF8);

            Console.WriteLine ("Response stream received.");
            Console.WriteLine (readStream.ReadToEnd ());
            response.Close ();
            readStream.Close ();
        }
    }

/*
The output from this example will vary depending on the value passed into Main 
but will be similar to the following:

Content length is 1542
Content type is text/html; charset=utf-8
Response stream received.
<html>
...
</html>

*/


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft