HttpListenerRequest クラス

定義

HttpListener オブジェクトに対する受信 HTTP 要求を記述します。Describes an incoming HTTP request to an HttpListener object. このクラスは継承できません。This class cannot be inherited.

public ref class HttpListenerRequest sealed
public sealed class HttpListenerRequest
type HttpListenerRequest = class
Public NotInheritable Class HttpListenerRequest
継承
HttpListenerRequest

次のコード例は、HttpListenerRequestを受信して応答する方法を示しています。The following code example demonstrates how to receive and respond to a HttpListenerRequest.

// This example requires the System and System.Net namespaces.
public static void SimpleListenerExample(string[] prefixes)
{
    if (!HttpListener.IsSupported)
    {
        Console.WriteLine ("Windows XP SP2 or Server 2003 is required to use the HttpListener class.");
        return;
    }
    // URI prefixes are required,
    // for example "http://contoso.com:8080/index/".
    if (prefixes == null || prefixes.Length == 0)
      throw new ArgumentException("prefixes");

    // Create a listener.
    HttpListener listener = new HttpListener();
    // Add the prefixes.
    foreach (string s in prefixes)
    {
        listener.Prefixes.Add(s);
    }
    listener.Start();
    Console.WriteLine("Listening...");
    // Note: The GetContext method blocks while waiting for a request.
    HttpListenerContext context = listener.GetContext();
    HttpListenerRequest request = context.Request;
    // Obtain a response object.
    HttpListenerResponse response = context.Response;
    // Construct a response.
    string responseString = "<HTML><BODY> Hello world!</BODY></HTML>";
    byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);
    // Get a response stream and write the response to it.
    response.ContentLength64 = buffer.Length;
    System.IO.Stream output = response.OutputStream;
    output.Write(buffer,0,buffer.Length);
    // You must close the output stream.
    output.Close();
    listener.Stop();
}
Public Shared Sub SimpleListenerExample(prefixes As String())
    If Not HttpListener.IsSupported Then
        Console.WriteLine("Windows XP SP2 or Server 2003 is required to use the HttpListener class.")
        Return
    End If
    ' URI prefixes are required,
    ' for example "http://contoso.com:8080/index/".
    If prefixes Is Nothing Or prefixes.Length = 0 Then
        Throw New ArgumentException("prefixes")
    End If

    ' Create a listener
    Dim listener = New HttpListener()

    For Each s As String In prefixes
        listener.Prefixes.Add(s)
    Next
    listener.Start()
    Console.WriteLine("Listening...")
    ' Note: The GetContext method blocks while waiting for a request.
    Dim context As HttpListenerContext = listener.GetContext()
    Console.WriteLine("Listening...")
    ' Obtain a response object
    Dim request As HttpListenerRequest = context.Request
    ' Construct a response.
    Dim response As HttpListenerResponse = context.Response
    Dim responseString As String = "<HTML><BODY> Hello world!</BODY></HTML>"
    Dim buffer As Byte() = System.Text.Encoding.UTF8.GetBytes(responseString)
    ' Get a response stream and write the response to it.
    response.ContentLength64 = buffer.Length
    Dim output As System.IO.Stream = response.OutputStream
    output.Write(buffer, 0, buffer.Length)
    'You must close the output stream.
    output.Close()
    listener.Stop()
End Sub

注釈

クライアントが HttpListener オブジェクトによって処理される Uniform Resource Identifier (URI) に対して要求を行うと、HttpListener は、送信者、要求、およびクライアントに送信される応答に関する情報を含む HttpListenerContext オブジェクトを提供します。When a client makes a request to a Uniform Resource Identifier (URI) handled by an HttpListener object, the HttpListener provides a HttpListenerContext object that contains information about the sender, the request, and the response that is sent to the client. HttpListenerContext.Request プロパティは、要求を記述する HttpListenerRequest オブジェクトを返します。The HttpListenerContext.Request property returns the HttpListenerRequest object that describes the request.

HttpListenerRequest オブジェクトには、要求 HttpMethod 文字列、UserAgent 文字列、要求本文データなどの要求に関する情報が含まれています (InputStream プロパティを参照してください)。The HttpListenerRequest object contains information about the request, such as the request HttpMethod string, UserAgent string, and request body data (see the InputStream property).

要求に応答するには、Response プロパティを使用して、関連付けられている応答を取得する必要があります。To reply to the request, you must get the associated response using the Response property.

プロパティ

AcceptTypes

クライアントが受け入れる MIME の種類を取得します。Gets the MIME types accepted by the client.

ClientCertificateError

クライアントから提供された X509Certificate の問題を識別するエラー コードを取得します。Gets an error code that identifies a problem with the X509Certificate provided by the client.

ContentEncoding

要求と共に送信されるデータに使用できるコンテンツのエンコードを取得します。Gets the content encoding that can be used with data sent with the request.

ContentLength64

要求に含まれている本体データの長さを取得します。Gets the length of the body data included in the request.

ContentType

要求に含まれている本体データの MIME の種類を取得します。Gets the MIME type of the body data included in the request.

Cookies

要求と共に送信されたクッキーを取得します。Gets the cookies sent with the request.

HasEntityBody

要求に関連付けられている本体データがあるかどうかを示す Boolean 値を取得します。Gets a Boolean value that indicates whether the request has associated body data.

Headers

要求で送信されるヘッダーの名前と値のペアのコレクションを取得します。Gets the collection of header name/value pairs sent in the request.

HttpMethod

クライアントによって指定された HTTP メソッドを取得します。Gets the HTTP method specified by the client.

InputStream

クライアントから送信された本体データを格納しているストリームを取得します。Gets a stream that contains the body data sent by the client.

IsAuthenticated

この要求の送信元クライアントが認証されているかどうかを示す Boolean 値を取得します。Gets a Boolean value that indicates whether the client sending this request is authenticated.

IsLocal

要求がローカル コンピューターから送信されたかどうかを示す Boolean 値を取得します。Gets a Boolean value that indicates whether the request is sent from the local computer.

IsSecureConnection

要求の送信に使用された TCP 接続が SSL (Secure Sockets Layer) プロトコルを使用しているかどうかを示す Boolean 値を取得します。Gets a Boolean value that indicates whether the TCP connection used to send the request is using the Secure Sockets Layer (SSL) protocol.

IsWebSocketRequest

TCP 接続が WebSocket 要求であったかどうかを示す Boolean 値を取得します。Gets a Boolean value that indicates whether the TCP connection was a WebSocket request.

KeepAlive

クライアントが永続的な接続を要求しているかどうかを示す Boolean 値を取得します。Gets a Boolean value that indicates whether the client requests a persistent connection.

LocalEndPoint

要求の転送先のサーバー IP アドレスおよびポート番号を取得します。Gets the server IP address and port number to which the request is directed.

ProtocolVersion

要求元クライアントで使用されている HTTP のバージョンを取得します。Gets the HTTP version used by the requesting client.

QueryString

要求に含まれているクエリ文字列を取得します。Gets the query string included in the request.

RawUrl

クライアントによって要求された (ホストおよびポートを含まない) URL 情報を取得します。Gets the URL information (without the host and port) requested by the client.

RemoteEndPoint

要求の発行元の IP アドレスおよびポート番号を取得します。Gets the client IP address and port number from which the request originated.

RequestTraceIdentifier

受信 HTTP 要求の要求 ID を取得します。Gets the request identifier of the incoming HTTP request.

ServiceName

クライアントが要求を送信したサービス プロバイダー名 (SPN: Service Provider Name) を取得します。Gets the Service Provider Name (SPN) that the client sent on the request.

TransportContext

クライアント要求の TransportContext を取得します。Gets the TransportContext for the client request.

Url

クライアントによって要求された Uri オブジェクトを取得します。Gets the Uri object requested by the client.

UrlReferrer

クライアントをサーバーに導いたリソースの URI (Uniform Resource Identifier) を取得します。Gets the Uniform Resource Identifier (URI) of the resource that referred the client to the server.

UserAgent

クライアントによって示されたユーザー エージェントを取得します。Gets the user agent presented by the client.

UserHostAddress

要求の転送先のサーバー IP アドレスおよびポート番号を取得します。Gets the server IP address and port number to which the request is directed.

UserHostName

DNS 名とクライアントによって指定されたポート番号 (存在する場合) を取得します。Gets the DNS name and, if provided, the port number specified by the client.

UserLanguages

応答への使用に適している自然言語を取得します。Gets the natural languages that are preferred for the response.

メソッド

BeginGetClientCertificate(AsyncCallback, Object)

クライアントの X.509 v.3 証明書への非同期要求を開始します。Begins an asynchronous request for the client's X.509 v.3 certificate.

EndGetClientCertificate(IAsyncResult)

クライアントの X.509 v.3 証明書への非同期要求を終了します。Ends an asynchronous request for the client's X.509 v.3 certificate.

Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetClientCertificate()

クライアントの X.509 v.3 証明書を取得します。Retrieves the client's X.509 v.3 certificate.

GetClientCertificateAsync()

クライアントの X.509 v.3 証明書を非同期操作として取得します。Retrieves the client's X.509 v.3 certificate as an asynchronous operation.

GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)

適用対象

こちらもご覧ください