HttpWebRequest.ContentLength 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
Content-length
HTTP 헤더를 가져오거나 설정합니다.
public:
virtual property long ContentLength { long get(); void set(long value); };
public override long ContentLength { get; set; }
member this.ContentLength : int64 with get, set
Public Overrides Property ContentLength As Long
속성 값
인터넷 리소스로 보낼 데이터 바이트 수입니다. 기본값은 -1로, 속성이 설정되지 않았으며 보낼 요청 데이터가 없음을 나타냅니다.
예외
요청은 GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), GetResponse()또는 BeginGetResponse(AsyncCallback, Object) 메서드를 호출하여 시작되었습니다.
새 ContentLength 값이 0보다 작습니다.
예제
다음 코드 예제에서는 ContentLength 속성을 게시할 문자열의 길이로 설정합니다.
// 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 사용합니다.
ContentLength 속성에는 요청과 함께 Content-length
HTTP 헤더로 보낼 값이 포함됩니다.
ContentLength 속성의 -1 이외의 값은 요청이 데이터를 업로드하고 데이터를 업로드하는 메서드만 Method 속성에서 설정할 수 있음을 나타냅니다.
ContentLength 속성이 값으로 설정되면 해당 바이트 수를 GetRequestStream 메서드 또는 BeginGetRequestStream 및 EndGetRequestStream 메서드를 호출하여 반환되는 요청 스트림에 기록해야 합니다.
메모
이 속성의 값은 WebHeaderCollection저장됩니다. WebHeaderCollection이 설정되면 속성 값이 손실됩니다.
적용 대상
.NET