Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

HttpWebRequest.GetResponse-Methode: ()

 

Veröffentlicht: Oktober 2016

Gibt eine Antwort von einer Internetressource zurück.

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

public override WebResponse GetResponse()

Rückgabewert

Type: System.Net.WebResponse

Eine WebResponse mit der Antwort von der Internetressource.

Exception Condition
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 ContentLength ist entweder 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 -

HttpWebRequest verfügt über einen Entitätskörper, die GetResponse-Methode wird jedoch aufgerufen, ohne dass die GetRequestStream-Methode aufgerufen wird.

- oder -

ContentLength ist größer als 0 (null), von der Anwendung werden jedoch nicht alle zugesagten Daten geschrieben.

NotSupportedException

Die Anforderungcacheprüfung hat ergeben, dass die Antwort auf diese Anforderung aus dem Cache bereitgestellt werden kann. Allerdings umfasst diese Anforderung Daten, die an den Server gesendet werden müssen. Anforderungen, durch die Daten gesendet werden, dürfen keinen Cache verwenden. Diese Ausnahme kann auftreten, wenn Sie eine benutzerdefinierte Cacheprüfung verwenden, die nicht ordnungsgemäß implementiert ist.

WebException

Abort wurde bereits aufgerufen.

- oder -

Das Zeitlimit für die Anforderung ist abgelaufen.

- oder -

Fehler beim Verarbeiten der Anforderung.

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

Ein ProtocolViolationException in mehreren Fällen ausgelöst, wenn die Eigenschaften festlegen, auf die HttpWebRequest Klasse stehen in Konflikt. Diese Ausnahme tritt auf, wenn eine Anwendung wird die ContentLength Eigenschaft und die SendChunked -Eigenschaft auf true, und dann eine HTTP GET-Anforderung sendet. Diese Ausnahme tritt auf, wenn eine Anwendung versucht, senden aufgeteilte auf einem Server, der nur HTTP 1.0-Protokoll unterstützt, dies wird nicht unterstützt. Diese Ausnahme tritt auf, wenn eine Anwendung versucht, Daten festlegen, ohne Senden der ContentLength Eigenschaft oder die SendChunked ist false Wenn Pufferung deaktiviert ist und über eine Keepalive-Verbindung (die KeepAlive Eigenschaft ist true).

System_CAPS_cautionAchtung

Sie müssen aufrufen, die Close Methode, um den Stream zu schließen und die Verbindung freizugeben. Dazu kann die Anwendung nicht mehr genügend Verbindungen verursacht.

Bei Verwendung der POST-Methode müssen Sie den Anforderungsstream abzurufen, schreiben die Daten und schließt den Stream. Diese Methode blockiert warten auf Inhalt zu senden. Wenn kein Timeout festgelegt ist und Sie keinen Inhalt, der aufrufende Thread blockiert auf unbestimmte Zeit bereitstellen.

System_CAPS_noteHinweis

Mehrere Aufrufe von GetResponse das gleiche Antwortobjekt; zurückgeben die Anforderung wird nicht erneut gesendet.

System_CAPS_noteHinweis

Synchrone und asynchrone Methoden für eine bestimmte Anforderung kann nicht die Anwendung kombiniert werden. Beim Aufrufen der GetRequestStream -Methode müssen Sie verwenden die GetResponse Methode, um die Antwort abzurufen.

System_CAPS_noteHinweis

Wenn eine WebException wird ausgelöst wird, verwenden die Response und Status Eigenschaften der Ausnahme, um die Antwort vom Server zu bestimmen.

System_CAPS_noteHinweis

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

System_CAPS_noteHinweis

Cookies sind aus Sicherheitsgründen standardmäßig deaktiviert. Wenn Sie Cookies verwenden möchten, verwenden Sie die CookieContainer Eigenschaft zum Aktivieren von Cookies.

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
Verfügbar seit 1.1
Zurück zum Anfang
Anzeigen: