HttpWebRequest.GetRequestStream メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
要求データの書き込みに使用する Stream オブジェクトを取得します。
オーバーロード
GetRequestStream() |
要求データの書き込みに使用する Stream オブジェクトを取得します。 |
GetRequestStream(TransportContext) |
要求データの書き込みに使用する Stream オブジェクトを取得し、ストリームに関連付けられている TransportContext を出力します。 |
GetRequestStream()
要求データの書き込みに使用する Stream オブジェクトを取得します。
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
戻り値
要求データの書き込みに使用する Stream。
例外
Method プロパティは GET または HEAD です。
-又は-
KeepAlive が true
、AllowWriteStreamBuffering が false
、ContentLength が -1、SendChunked が false
、Method が POST または PUT です。
要求キャッシュ検証コントロールは、この要求の応答をキャッシュから提供できることを示しました。ただし、データを書き込む要求ではキャッシュを使用しないでください。 この例外は、正しく実装されていないカスタム キャッシュ検証コントロールを使用している場合に発生する可能性があります。
.NET Compact Framework アプリケーションでは、コンテンツの長さがゼロの要求ストリームが取得されず、正しく閉じられました。 コンテンツ長ゼロ要求の処理の詳細については、「.NET Compact Frameworkでのネットワーク プログラミング
例
次のコード例では、GetRequestStream メソッドを使用してストリーム インスタンスを返します。
// 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()
注釈
注意
WebRequest
、HttpWebRequest
、ServicePoint
、WebClient
は廃止されており、新しい開発には使用しないでください。 代わりに HttpClient を使用してください。
GetRequestStream メソッドは、HttpWebRequestのデータを送信するために使用するストリームを返します。 Stream オブジェクトが返されたら、Stream.Write メソッドを使用して、HttpWebRequest を使用してデータを送信できます。
アプリケーションで ContentLength プロパティの値を設定する必要がある場合は、ストリームを取得する前にこれを行う必要があります。
ストリームを閉じ、接続を解放して再利用するには、Stream.Close メソッドを呼び出す必要があります。 ストリームを閉じないと、アプリケーションの接続が不足します。
手記
アプリケーションは、特定の要求に対して同期メソッドと非同期メソッドを混在させることができません。 GetRequestStream メソッドを呼び出す場合は、GetResponse メソッドを使用して応答を取得する必要があります。
手記
このメンバーは、アプリケーションでネットワーク トレースを有効にすると、トレース情報を出力します。 詳細については、「.NET Frameworkでのネットワーク トレースの
こちらもご覧ください
適用対象
GetRequestStream(TransportContext)
要求データの書き込みに使用する Stream オブジェクトを取得し、ストリームに関連付けられている TransportContext を出力します。
public:
System::IO::Stream ^ GetRequestStream([Runtime::InteropServices::Out] System::Net::TransportContext ^ % context);
public System.IO.Stream GetRequestStream (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
パラメーター
- context
- TransportContext
戻り値
要求データの書き込みに使用する Stream。
例外
GetRequestStream() メソッドは、Streamを取得できませんでした。
要求キャッシュ検証コントロールは、この要求の応答をキャッシュから提供できることを示しました。ただし、データを書き込む要求ではキャッシュを使用しないでください。 この例外は、正しく実装されていないカスタム キャッシュ検証コントロールを使用している場合に発生する可能性があります。
Method プロパティは GET または HEAD です。
-又は-
KeepAlive が true
、AllowWriteStreamBuffering が false
、ContentLength が -1、SendChunked が false
、Method が POST または PUT です。
注釈
注意
WebRequest
、HttpWebRequest
、ServicePoint
、WebClient
は廃止されており、新しい開発には使用しないでください。 代わりに HttpClient を使用してください。
GetRequestStream メソッドは、HttpWebRequest のデータを送信するために使用するストリームを返し、ストリームに関連付けられている TransportContext を出力します。 Stream オブジェクトが返されたら、Stream.Write メソッドを使用して、HttpWebRequest を使用してデータを送信できます。
拡張保護で統合 Windows 認証を使用する一部のアプリケーションでは、基になる TLS チャネルからチャネル バインド トークン (CBT) を取得するために、HttpWebRequest によって使用されるトランスポート層に対してクエリを実行できる必要があります。
GetRequestStream メソッドは、要求本文 (POST
および PUT
要求) を持つ HTTP メソッドに対して、この情報へのアクセスを提供します。 これは、アプリケーションが独自の認証を実装していて、CBT にアクセスする必要がある場合にのみ必要です。
アプリケーションで ContentLength プロパティの値を設定する必要がある場合は、ストリームを取得する前にこれを行う必要があります。
ストリームを閉じ、接続を解放して再利用するには、Stream.Close メソッドを呼び出す必要があります。 ストリームを閉じないと、アプリケーションの接続が不足します。
手記
アプリケーションは、特定の要求に対して同期メソッドと非同期メソッドを混在させることができません。 GetRequestStream メソッドを呼び出す場合は、GetResponse メソッドを使用して応答を取得する必要があります。
手記
このメンバーは、アプリケーションでネットワーク トレースを有効にすると、トレース情報を出力します。 詳細については、「.NET Frameworkでのネットワーク トレースの
こちらもご覧ください
- TransportContext
- GetChannelBinding(ChannelBindingKind)
- System.Security.Authentication.ExtendedProtection
- ChannelBinding
- 拡張保護 を使用した統合 Windows 認証の
適用対象
.NET