次の方法で共有


HttpWebRequest.ContentLength プロパティ

Content-length HTTP ヘッダーを取得または設定します。

Overrides Public Property ContentLength As Long
[C#]
public override long ContentLength {get; set;}
[C++]
public: __property __int64 get_ContentLength();public: __property void set_ContentLength(__int64);
[JScript]
public override function get ContentLength() : long;public override function set ContentLength(long);

プロパティ値

インターネット リソースに送信するデータのバイト数。既定値は -1 です。このプロパティが設定されていないこと、および送信する要求データが存在しないことを示します。

例外

例外の種類 条件
InvalidOperationException 要求が GetRequestStreamBeginGetRequestStreamGetResponse 、または BeginGetResponse の各メソッドの呼び出しによって開始されました。
ArgumentOutOfRangeException 新しい ContentLength の値が 0 未満です。

解説

ContentLength プロパティは、要求と共に Content-length HTTP ヘッダーとして送信する値を格納します。

ContentLength プロパティの -1 以外の値は、要求がデータをアップロードし、データをアップロードしたメソッドだけを Method プロパティで設定できることを示します。

ContentLength プロパティに値を設定すると、 GetRequestStream または BeginGetRequestStreamEndGetRequestStream の両方を呼び出して返される要求ストリームにそのバイト数を書き込む必要があります。

使用例

[Visual Basic, C#, C++] ContentLength プロパティをポストバックされている文字列の長さに設定する例を次に示します。

 
Console.WriteLine(ControlChars.Cr + "Please enter the data to be posted to the (https://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 = postData.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()

[C#] 
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=postData.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();

[C++] 
String* postData = String::Concat(S"firstone= ", inputData);
ASCIIEncoding* encoding = new ASCIIEncoding();
Byte byte1[] = encoding->GetBytes(postData);
// Set the content type of the data being posted.
myHttpWebRequest->ContentType = S"application/x-www-form-urlencoded";
// Set the content length of the String* being posted.
myHttpWebRequest->ContentLength=postData->Length;
Stream* newStream = myHttpWebRequest->GetRequestStream();
newStream->Write(byte1, 0, byte1->Length);
Console::WriteLine(S"The value of 'ContentLength' property after sending the data is {0}",
   __box(myHttpWebRequest->ContentLength));
// Close the Stream Object*.
newStream->Close();

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

HttpWebRequest クラス | HttpWebRequest メンバ | System.Net 名前空間