HttpWebRequest.GetRequestStream HttpWebRequest.GetRequestStream HttpWebRequest.GetRequestStream HttpWebRequest.GetRequestStream Method

Définition

Obtient un objet Stream à utiliser pour écrire les données de la requête.Gets a Stream object to use to write request data.

Surcharges

GetRequestStream() GetRequestStream() GetRequestStream() GetRequestStream()

Obtient un objet Stream à utiliser pour écrire les données de la requête.Gets a Stream object to use to write request data.

GetRequestStream(TransportContext) GetRequestStream(TransportContext) GetRequestStream(TransportContext) GetRequestStream(TransportContext)

Obtient un objet Stream à utiliser pour écrire les données de la requête et exporte le TransportContext associé avec le flux de données.Gets a Stream object to use to write request data and outputs the TransportContext associated with the stream.

GetRequestStream() GetRequestStream() GetRequestStream() GetRequestStream()

Obtient un objet Stream à utiliser pour écrire les données de la requête.Gets a Stream object to use to write request data.

public:
 override System::IO::Stream ^ GetRequestStream();
public override System.IO.Stream GetRequestStream ();
override this.GetRequestStream : unit -> System.IO.Stream
Public Overrides Function GetRequestStream () As Stream

Retours

Stream à utiliser pour écrire les données de la requête.A Stream to use to write request data.

Exceptions

La propriété Method est GET ou HEAD.The Method property is GET or HEAD.

- ou --or- KeepAlive est true, AllowWriteStreamBuffering est false, ContentLength a la valeur -1, SendChunked est false, et Method est POST ou PUT.KeepAlive is true, AllowWriteStreamBuffering is false, ContentLength is -1, SendChunked is false, and Method is POST or PUT.

La méthode GetRequestStream() est appelée à plusieurs reprises.The GetRequestStream() method is called more than once.

ou-or- TransferEncoding est défini sur une valeur, et SendChunked a pour valeur false.TransferEncoding is set to a value and SendChunked is false.

Le validateur du cache de demande a indiqué que la réponse à cette demande peut être obtenue à partir du cache. Toutefois, les demandes qui écrivent des données ne doivent pas utiliser le cache.The request cache validator indicated that the response for this request can be served from the cache; however, requests that write data must not use the cache. Cette exception peut se produire si vous utilisez un validateur de cache personnalisé qui est implémenté de manière incorrecte.This exception can occur if you are using a custom cache validator that is incorrectly implemented.

Abort() a déjà été appelé.Abort() was previously called.

ou-or- Le délai d'attente de la requête a expiré.The time-out period for the request expired.

ou-or- Une erreur s’est produite pendant le traitement de la requête.An error occurred while processing the request.

Dans une application .NET Compact Framework, un flux de requête avec une longueur de contenu nulle n’a pas été obtenu et s’est fermé correctement.In a .NET Compact Framework application, a request stream with zero content length was not obtained and closed correctly. Pour plus d’informations sur la gestion des requêtes avec une longueur de contenu nulle, consultez Programmation réseau dans le .NET Compact Framework.For more information about handling zero content length requests, see Network Programming in the .NET Compact Framework.

Exemples

L’exemple de code suivant utilise GetRequestStream la méthode pour retourner une instance de flux.The following code example uses the GetRequestStream method to return a stream instance.

// Set the 'Method' property of the 'Webrequest' to 'POST'.
myHttpWebRequest->Method = "POST";
Console::WriteLine( "\nPlease enter the data to be posted to the (http://www.contoso.com/codesnippets/next.asp) Uri :" );

// Create a new String* Object* to POST data to the Url.
String^ inputData = Console::ReadLine();

String^ postData = String::Concat( "firstone= ", inputData );
ASCIIEncoding^ encoding = gcnew ASCIIEncoding;
array<Byte>^ byte1 = encoding->GetBytes( postData );

// Set the content type of the data being posted.
myHttpWebRequest->ContentType = "application/x-www-form-urlencoded";

// Set the content length of the String* being posted.
myHttpWebRequest->ContentLength = byte1->Length;

Stream^ newStream = myHttpWebRequest->GetRequestStream();

newStream->Write( byte1, 0, byte1->Length );
Console::WriteLine( "The value of 'ContentLength' property after sending the data is {0}", myHttpWebRequest->ContentLength );

// Close the Stream Object*.
newStream->Close();
// Set the 'Method' property of the 'Webrequest' to 'POST'.
myHttpWebRequest.Method = "POST";
Console.WriteLine ("\nPlease enter the data to be posted to the (http://www.contoso.com/codesnippets/next.asp) Uri :");

// Create a new string object to POST data to the Url.
string inputData = Console.ReadLine ();


string postData = "firstone=" + inputData;
ASCIIEncoding encoding = new ASCIIEncoding ();
byte[] byte1 = encoding.GetBytes (postData);

// Set the content type of the data being posted.
myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";

// Set the content length of the string being posted.
myHttpWebRequest.ContentLength = byte1.Length;

Stream newStream = myHttpWebRequest.GetRequestStream ();

newStream.Write (byte1, 0, byte1.Length);
Console.WriteLine ("The value of 'ContentLength' property after sending the data is {0}", myHttpWebRequest.ContentLength);

// Close the Stream object.
newStream.Close ();

' Set the 'Method' property of the 'Webrequest' to 'POST'.
myHttpWebRequest.Method = "POST"

Console.WriteLine(ControlChars.Cr + "Please enter the data to be posted to the (http://www.contoso.com/codesnippets/next.asp) Uri :")
' Create a new string object to POST data to the Url.
Dim inputData As String = Console.ReadLine()
Dim postData As String = "firstone" + ChrW(61) + inputData
Dim encoding As New ASCIIEncoding()
Dim byte1 As Byte() = encoding.GetBytes(postData)
' Set the content type of the data being posted.
myHttpWebRequest.ContentType = "application/x-www-form-urlencoded"
' Set the content length of the string being posted.
myHttpWebRequest.ContentLength = byte1.Length
Dim newStream As Stream = myHttpWebRequest.GetRequestStream()
newStream.Write(byte1, 0, byte1.Length)
Console.WriteLine("The value of 'ContentLength' property after sending the data is {0}", myHttpWebRequest.ContentLength)
newStream.Close()

Remarques

La GetRequestStream méthode retourne un flux à utiliser pour envoyer des données pour HttpWebRequestle.The GetRequestStream method returns a stream to use to send data for the HttpWebRequest. Une fois Stream que l’objet a été retourné, vous pouvez envoyer des HttpWebRequest données avec le Stream.Write en utilisant la méthode.After the Stream object has been returned, you can send data with the HttpWebRequest by using the Stream.Write method.

Si une application doit définir la valeur de la ContentLength propriété, cette opération doit être effectuée avant de récupérer le flux.If an application needs to set the value of the ContentLength property, then this must be done before retrieving the stream.

Vous devez appeler la Stream.Close méthode pour fermer le flux et libérer la connexion en vue de sa réutilisation.You must call the Stream.Close method to close the stream and release the connection for reuse. Si vous ne fermez pas le flux, votre application ne dispose plus de connexions.Failure to close the stream causes your application to run out of connections.

Notes

Votre application ne peut pas mélanger des méthodes synchrones et asynchrones pour une requête particulière.Your application cannot mix synchronous and asynchronous methods for a particular request. Si vous appelez la GetRequestStream méthode, vous devez utiliser la GetResponse méthode pour récupérer la réponse.If you call the GetRequestStream method, you must use the GetResponse method to retrieve the response.

Notes

Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application.This member outputs trace information when you enable network tracing in your application. Pour plus d’informations, consultez la page traçage réseau dans le .NET Framework.For more information, see Network Tracing in the .NET Framework.

Voir aussi

GetRequestStream(TransportContext) GetRequestStream(TransportContext) GetRequestStream(TransportContext) GetRequestStream(TransportContext)

Obtient un objet Stream à utiliser pour écrire les données de la requête et exporte le TransportContext associé avec le flux de données.Gets a Stream object to use to write request data and outputs the TransportContext associated with the stream.

public:
 System::IO::Stream ^ GetRequestStream([Runtime::InteropServices::Out] System::Net::TransportContext ^ % context);
public System.IO.Stream GetRequestStream (out System.Net.TransportContext context);
override this.GetRequestStream : TransportContext -> System.IO.Stream
Public Function GetRequestStream (ByRef context As TransportContext) As Stream

Paramètres

Retours

Stream à utiliser pour écrire les données de la requête.A Stream to use to write request data.

Exceptions

La méthode GetRequestStream() ne pouvait pas obtenir le Stream.The GetRequestStream() method was unable to obtain the Stream.

La méthode GetRequestStream() est appelée à plusieurs reprises.The GetRequestStream() method is called more than once.

ou-or- TransferEncoding est défini sur une valeur, et SendChunked a pour valeur false.TransferEncoding is set to a value and SendChunked is false.

Le validateur du cache de demande a indiqué que la réponse à cette demande peut être obtenue à partir du cache. Toutefois, les demandes qui écrivent des données ne doivent pas utiliser le cache.The request cache validator indicated that the response for this request can be served from the cache; however, requests that write data must not use the cache. Cette exception peut se produire si vous utilisez un validateur de cache personnalisé qui est implémenté de manière incorrecte.This exception can occur if you are using a custom cache validator that is incorrectly implemented.

La propriété Method est GET ou HEAD.The Method property is GET or HEAD.

- ou --or- KeepAlive est true, AllowWriteStreamBuffering est false, ContentLength a la valeur -1, SendChunked est false, et Method est POST ou PUT.KeepAlive is true, AllowWriteStreamBuffering is false, ContentLength is -1, SendChunked is false, and Method is POST or PUT.

Abort() a déjà été appelé.Abort() was previously called.

- ou --or- Le délai d'attente de la requête a expiré.The time-out period for the request expired.

ou-or- Une erreur s’est produite pendant le traitement de la requête.An error occurred while processing the request.

Remarques

La GetRequestStream méthode retourne un flux à utiliser pour envoyer HttpWebRequest des données pour et génère le TransportContext associé au flux.The GetRequestStream method returns a stream to use to send data for the HttpWebRequest and outputs the TransportContext associated with the stream. Une fois Stream que l’objet a été retourné, vous pouvez envoyer des HttpWebRequest données avec le Stream.Write en utilisant la méthode.After the Stream object has been returned, you can send data with the HttpWebRequest by using the Stream.Write method.

Certaines applications qui utilisent l’authentification Windows intégrée avec la protection étendue doivent être en mesure d’interroger la couche de HttpWebRequest transport utilisée par pour récupérer le jeton de liaison de canal (CBT) à partir du canal TLS sous-jacent.Some applications that use integrated Windows authentication with extended protection may need to be able to query the transport layer used by HttpWebRequest in order to retrieve the channel binding token (CBT) from the underlying TLS channel. La GetRequestStream méthode fournit l’accès à ces informations pour les méthodes http qui ont un corpsPOST de PUT demande (et des demandes).The GetRequestStream method provides access to this information for HTTP methods which have a request body (POST and PUT requests). Cela n’est nécessaire que si l’application implémente sa propre authentification et a besoin d’accéder au CBT.This is only needed if the application is implementing its own authentication and needs access to the CBT.

Si une application doit définir la valeur de la ContentLength propriété, cette opération doit être effectuée avant de récupérer le flux.If an application needs to set the value of the ContentLength property, then this must be done before retrieving the stream.

Vous devez appeler la Stream.Close méthode pour fermer le flux et libérer la connexion en vue de sa réutilisation.You must call the Stream.Close method to close the stream and release the connection for reuse. Si vous ne fermez pas le flux, votre application ne dispose plus de connexions.Failure to close the stream causes your application to run out of connections.

Notes

Votre application ne peut pas mélanger des méthodes synchrones et asynchrones pour une requête particulière.Your application cannot mix synchronous and asynchronous methods for a particular request. Si vous appelez la GetRequestStream méthode, vous devez utiliser la GetResponse méthode pour récupérer la réponse.If you call the GetRequestStream method, you must use the GetResponse method to retrieve the response.

Notes

Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application.This member outputs trace information when you enable network tracing in your application. Pour plus d’informations, consultez la page traçage réseau dans le .NET Framework.For more information, see Network Tracing in the .NET Framework.

Voir aussi

S’applique à