HttpWebRequest.ContentLength 屬性

定義

取得或設定 HTTP 標頭 Content-length

public override long ContentLength { get; set; }

屬性值

要傳送至因特網資源的數據位元組數目。 默認值為 -1,表示尚未設定 屬性,而且沒有要傳送的要求數據。

例外狀況

範例

下列程式代碼範例會將 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 = "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 ();

備註

警告

WebRequestHttpWebRequestServicePointWebClient 已經過時,您不應該將它們用於新的開發。 請改用 HttpClient

ContentLength 屬性包含要以要求傳送為 Content-length HTTP 標頭的值。

ContentLength 屬性中 -1 以外的任何值都表示要求會上傳數據,而且只允許在 Method 屬性中設定上傳數據的方法。

ContentLength 屬性設定為值之後,必須透過呼叫 GetRequestStream 方法或 BeginGetRequestStreamEndGetRequestStream 方法傳回的要求數據流寫入該位元組數目。

注意

此屬性的值會儲存在 WebHeaderCollection中。 如果已設定 WebHeaderCollection,屬性值就會遺失。

適用於

產品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1