英語で読む

次の方法で共有


HttpWebRequest.MaximumResponseHeadersLength プロパティ

定義

応答ヘッダーの最大許容長を取得または設定します。

C#
public int MaximumResponseHeadersLength { get; set; }

プロパティ値

応答ヘッダーの長さ (キロバイト (1024 バイト)。

例外

このプロパティは、要求が既に送信された後に設定されます。

値が 0 未満です。

次のコード例では、このプロパティの値を設定します。

C#
using System;
using System.Net;
using System.Text;
using System.IO;

    public class Test
    {
        // Specify the URL to receive the request.
        public static void Main (string[] args)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(args[0]);

            // Set some reasonable limits on resources used by this request
            request.MaximumAutomaticRedirections = 4;
            request.MaximumResponseHeadersLength = 4;
            // Set credentials to use for this request.
            request.Credentials = CredentialCache.DefaultCredentials;
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();

            Console.WriteLine("Content length is {0}", response.ContentLength);
            Console.WriteLine("Content type is {0}", response.ContentType);

            // Get the stream associated with the response.
            Stream receiveStream = response.GetResponseStream();

            // Pipes the stream to a higher level stream reader with the required encoding format.
            StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);

            Console.WriteLine("Response stream received.");
            Console.WriteLine(readStream.ReadToEnd());
            response.Close();
            readStream.Close();
        }
    }

/*
The output from this example will vary depending on the value passed into Main
but will be similar to the following:

Content length is 1542
Content type is text/html; charset=utf-8
Response stream received.
<html>
...
</html>

*/

注釈

注意事項

WebRequestHttpWebRequestServicePointWebClient は廃止されており、新しい開発には使用しないでください。 代わりに HttpClient を使用してください。

応答ヘッダーの長さには、応答ステータス行と、HTTP プロトコルの一部として受信される追加の制御文字が含まれます。 値 0 は、すべての要求が失敗することを意味します。

MaximumResponseHeadersLength プロパティが明示的に設定されていない場合、既定値は DefaultMaximumResponseHeadersLength プロパティの値になります。

受信した応答ヘッダーの長さが MaximumResponseHeadersLength プロパティの値を超える場合、EndGetResponse メソッドまたは GetResponse メソッドは、Status プロパティが MessageLengthLimitExceededに設定された WebException をスローします。

適用対象

製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.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