HttpWebRequest.GetRequestStream 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
요청 데이터를 쓰는 데 사용할 Stream 개체를 가져옵니다.
오버로드
GetRequestStream() |
요청 데이터를 쓰는 데 사용할 Stream 개체를 가져옵니다. |
GetRequestStream(TransportContext) |
요청 데이터를 작성하는 데 사용할 Stream 개체를 가져오고 스트림과 연결된 TransportContext 출력합니다. |
GetRequestStream()
- Source:
- HttpWebRequest.cs
- Source:
- HttpWebRequest.cs
- Source:
- HttpWebRequest.cs
요청 데이터를 쓰는 데 사용할 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
, AllowWriteStreamBufferingfalse
, ContentLength -1, SendChunkedfalse
, Method POST 또는 PUT입니다.
요청 캐시 유효성 검사기는 이 요청에 대한 응답을 캐시에서 처리할 수 있음을 나타냅니다. 그러나 데이터를 쓰는 요청은 캐시를 사용하지 않아야 합니다. 이 예외는 잘못 구현된 사용자 지정 캐시 유효성 검사기를 사용하는 경우에 발생할 수 있습니다.
.NET Compact Framework 애플리케이션에서 콘텐츠 길이가 0인 요청 스트림을 올바르게 가져오고 닫지 않았습니다. 콘텐츠 길이가 0인 요청을 처리하는 방법에 대한 자세한 내용은 .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)
- Source:
- HttpWebRequest.cs
- Source:
- HttpWebRequest.cs
- Source:
- HttpWebRequest.cs
요청 데이터를 작성하는 데 사용할 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
, AllowWriteStreamBufferingfalse
, ContentLength -1, SendChunkedfalse
, 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