HttpWebRequest.GetRequestStream 메서드

정의

Stream 요청 데이터를 쓰는 데 사용할 개체를 가져옵니다.

오버로드

Name Description
GetRequestStream()

Stream 요청 데이터를 쓰는 데 사용할 개체를 가져옵니다.

GetRequestStream(TransportContext)

Stream 요청 데이터를 작성하는 데 사용할 개체를 가져오고 스트림과 연결된 개체를 출력합니다TransportContext.

GetRequestStream()

Source:
HttpWebRequest.cs
Source:
HttpWebRequest.cs
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 요청 데이터를 작성하는 데 사용하는 A입니다.

예외

GET Method 또는 HEAD 속성입니다.

-또는-

KeepAlive is true, AllowWriteStreamBuffering is false, ContentLength is -1, SendChunked is false, 및 Method POST 또는 PUT입니다.

메서드 GetRequestStream() 를 두 번 이상 호출합니다.

-또는-

TransferEncoding가 값으로 설정되고 SendChunkedfalse

요청 캐시 유효성 검사기는 이 요청에 대한 응답을 캐시에서 처리할 수 있음을 나타냅니다. 그러나 데이터를 쓰는 요청은 캐시를 사용하지 않아야 합니다. 이 예외는 잘못 구현된 사용자 지정 캐시 유효성 검사기를 사용하는 경우에 발생할 수 있습니다.

Abort() 가 이전에 호출되었습니다.

-또는-

요청에 대한 제한 시간이 만료되었습니다.

-또는-

요청을 처리하는 동안 오류가 발생했습니다.

.NET Compact Framework 애플리케이션에서 콘텐츠 길이가 0인 요청 스트림을 올바르게 가져오고 닫지 않았습니다.

예제

다음 코드 예제에서는 스트림 인스턴스를 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 = "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, ServicePointWebClient 사용되지 않으므로 새 개발에 사용하면 안 됩니다. HttpClient를 대신 사용하세요.

메서드는 GetRequestStream 에 대한 데이터를 보내는 데 사용할 스트림을 반환합니다 HttpWebRequest. 개체가 Stream 반환된 후 메서드를 HttpWebRequest 사용하여 Stream.Write 데이터를 보낼 수 있습니다.

애플리케이션이 속성 값을 ContentLength 설정해야 하는 경우 스트림을 검색하기 전에 이 작업을 수행해야 합니다.

메서드를 Stream.Close 호출하여 스트림을 닫고 다시 사용할 연결을 해제해야 합니다. 스트림을 닫지 않으면 애플리케이션에 연결이 부족합니다.

메모

애플리케이션은 특정 요청에 대해 동기 및 비동기 메서드를 혼합할 수 없습니다. 메서드를 호출하는 GetRequestStream 경우 메서드를 GetResponse 사용하여 응답을 검색해야 합니다.

메모

이 멤버는 애플리케이션에서 네트워크 추적을 사용하도록 설정할 때 추적 정보를 출력합니다. 자세한 내용은 .NET Framework의Network 추적 참조하세요.

추가 정보

적용 대상

GetRequestStream(TransportContext)

Source:
HttpWebRequest.cs
Source:
HttpWebRequest.cs
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

TransportContext 에 대한 것입니다Stream.

반품

Stream 요청 데이터를 작성하는 데 사용하는 A입니다.

예외

메서드가 GetRequestStream() .를 가져올 Stream수 없습니다.

메서드 GetRequestStream() 를 두 번 이상 호출합니다.

-또는-

TransferEncoding가 값으로 설정되고 SendChunkedfalse

요청 캐시 유효성 검사기는 이 요청에 대한 응답을 캐시에서 처리할 수 있음을 나타냅니다. 그러나 데이터를 쓰는 요청은 캐시를 사용하지 않아야 합니다. 이 예외는 잘못 구현된 사용자 지정 캐시 유효성 검사기를 사용하는 경우에 발생할 수 있습니다.

GET Method 또는 HEAD 속성입니다.

-또는-

KeepAlive is true, AllowWriteStreamBuffering is false, ContentLength is -1, SendChunked is false, 및 Method POST 또는 PUT입니다.

Abort() 가 이전에 호출되었습니다.

-또는-

요청에 대한 제한 시간이 만료되었습니다.

-또는-

요청을 처리하는 동안 오류가 발생했습니다.

설명

주의

WebRequest, HttpWebRequest, ServicePointWebClient 사용되지 않으므로 새 개발에 사용하면 안 됩니다. HttpClient를 대신 사용하세요.

메서드는 GetRequestStream 데이터를 보내는 데 사용할 스트림을 HttpWebRequest 반환하고 스트림과 연결된 스트림을 출력합니다 TransportContext . 개체가 Stream 반환된 후 메서드를 HttpWebRequest 사용하여 Stream.Write 데이터를 보낼 수 있습니다.

확장된 보호가 포함된 통합 Windows 인증 사용하는 일부 애플리케이션은 기본 TLS 채널에서 CBT(채널 바인딩 토큰)를 검색하기 위해 HttpWebRequest 사용하는 전송 계층을 쿼리할 수 있어야 할 수 있습니다. 이 메서드는 GetRequestStream 요청 본문(POSTPUT 요청)이 있는 HTTP 메서드에 대해 이 정보에 대한 액세스를 제공합니다. 애플리케이션이 자체 인증을 구현하고 CBT에 액세스해야 하는 경우에만 필요합니다.

애플리케이션이 속성 값을 ContentLength 설정해야 하는 경우 스트림을 검색하기 전에 이 작업을 수행해야 합니다.

메서드를 Stream.Close 호출하여 스트림을 닫고 다시 사용할 연결을 해제해야 합니다. 스트림을 닫지 않으면 애플리케이션에 연결이 부족합니다.

메모

애플리케이션은 특정 요청에 대해 동기 및 비동기 메서드를 혼합할 수 없습니다. 메서드를 호출하는 GetRequestStream 경우 메서드를 GetResponse 사용하여 응답을 검색해야 합니다.

메모

이 멤버는 애플리케이션에서 네트워크 추적을 사용하도록 설정할 때 추적 정보를 출력합니다. 자세한 내용은 .NET Framework의Network 추적 참조하세요.

추가 정보

적용 대상