The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
This topic has not yet been rated - Rate this topic

HttpWebRequest.GetRequestStream Method

Gets a Stream instance to use to write request data.

[Visual Basic]
Overrides Public Function GetRequestStream() As Stream
public override Stream GetRequestStream();
public: Stream* GetRequestStream();
public override function GetRequestStream() : Stream;

Return Value

A Stream to use to write request data.


Exception Type Condition
ProtocolViolationException The Method property is GET or HEAD.


KeepAlive is true, AllowWriteStreamBuffering is false, ContentLength is -1, SendChunked is false, and Method is POST or PUT.

InvalidOperationException The GetRequestStream method is called more than once.


TransferEncoding is set to a value and SendChunked is false.

WebException Abort was previously called.


The time-out period for the request expired.


An error occurred while processing the request.


The GetRequestStream method returns a stream to use to send data for the HttpWebRequest. Once the Stream instance has been returned, you can send data with the HttpWebRequest by using the Stream.Write method.

Note   You must set the value of the ContentLength property before retrieving the stream.
CAUTION   You must call the Stream.Close method to close the stream and release the connection for reuse. Failure to close the stream will cause your application to run out of connections.


[Visual Basic, C#, C++] The following example uses the GetRequestStream method to return a stream instance.

[Visual Basic] 
Console.WriteLine(ControlChars.Cr + "Please enter the data to be posted to the ( 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 = postData.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)

string postData="firstone="+inputData;
ASCIIEncoding encoding=new ASCIIEncoding();
byte[]  byte1=encoding.GetBytes(postData);
// Set the content type of the data being posted.
// Set the content length of the string being posted.
Stream newStream=myHttpWebRequest.GetRequestStream();
Console.WriteLine("The value of 'ContentLength' property after sending the data is {0}",myHttpWebRequest.ContentLength);
// Close the Stream object.

String* postData = String::Concat(S"firstone= ", inputData);
ASCIIEncoding* encoding = new ASCIIEncoding();
Byte byte1[] = encoding->GetBytes(postData);
// Set the content type of the data being posted.
myHttpWebRequest->ContentType = S"application/x-www-form-urlencoded";
// Set the content length of the String* being posted.
Stream* newStream = myHttpWebRequest->GetRequestStream();
newStream->Write(byte1, 0, byte1->Length);
Console::WriteLine(S"The value of 'ContentLength' property after sending the data is {0}",
// Close the Stream Object*.

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.


Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard

See Also

HttpWebRequest Class | HttpWebRequest Members | System.Net Namespace

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
© 2014 Microsoft. All rights reserved.