HttpListenerRequest Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Beschreibt eine eingehende HTTP-Anforderung an ein HttpListener Objekt. Diese Klasse kann nicht vererbt werden.
public ref class HttpListenerRequest sealed
public sealed class HttpListenerRequest
type HttpListenerRequest = class
Public NotInheritable Class HttpListenerRequest
- Vererbung
-
HttpListenerRequest
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Sie ein Objekt HttpListenerRequestempfangen und darauf reagieren.
// 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
Hinweise
Wenn ein Client eine Anforderung an einen von einem HttpListener Objekt verarbeiteten URI (Uniform Resource Identifier) sendet, stellt das HttpListener Objekt ein HttpListenerContext Objekt bereit, das Informationen über den Absender, die Anforderung und die Antwort enthält, die an den Client gesendet wird. Die HttpListenerContext.Request Eigenschaft gibt das HttpListenerRequest Objekt zurück, das die Anforderung beschreibt.
Das HttpListenerRequest Objekt enthält Informationen zur Anforderung, z. B. die Anforderungszeichenfolge HttpMethod , UserAgent Zeichenfolge und Anforderungstextdaten (siehe InputStream Eigenschaft).
Um auf die Anforderung zu antworten, müssen Sie die zugeordnete Antwort mithilfe der Response Eigenschaft abrufen.
Eigenschaften
| Name | Beschreibung |
|---|---|
| AcceptTypes |
Ruft die MIME-Typen ab, die vom Client akzeptiert werden. |
| ClientCertificateError |
Ruft einen Fehlercode ab, der ein Problem mit dem X509Certificate vom Client bereitgestellten identifiziert. |
| ContentEncoding |
Ruft die Inhaltscodierung ab, die mit Daten verwendet werden kann, die mit der Anforderung gesendet werden. |
| ContentLength64 |
Ruft die Länge der Textkörperdaten ab, die in der Anforderung enthalten sind. |
| ContentType |
Ruft den MIME-Typ der Textkörperdaten ab, die in der Anforderung enthalten sind. |
| Cookies |
Ruft die Mit der Anforderung gesendeten Cookies ab. |
| HasEntityBody |
Ruft einen Boolean Wert ab, der angibt, ob die Anforderung Textkörperdaten zugeordnet hat. |
| Headers |
Ruft die Auflistung von Headernamen-Wert-Paaren ab, die in der Anforderung gesendet werden. |
| HttpMethod |
Ruft die vom Client angegebene HTTP-Methode ab. |
| InputStream |
Ruft einen Datenstrom ab, der die vom Client gesendeten Textkörperdaten enthält. |
| IsAuthenticated |
Ruft einen Boolean Wert ab, der angibt, ob der Client, der diese Anforderung sendet, authentifiziert ist. |
| IsLocal |
Ruft einen Boolean Wert ab, der angibt, ob die Anforderung vom lokalen Computer gesendet wird. |
| IsSecureConnection |
Ruft einen Boolean Wert ab, der angibt, ob die TCP-Verbindung, die zum Senden der Anforderung verwendet wird, das SSL-Protokoll (Secure Sockets Layer) verwendet. |
| IsWebSocketRequest |
Ruft einen Boolean Wert ab, der angibt, ob die TCP-Verbindung eine WebSocket-Anforderung war. |
| KeepAlive |
Ruft einen Boolean Wert ab, der angibt, ob der Client eine dauerhafte Verbindung anfordert. |
| LocalEndPoint |
Ruft die Server-IP-Adresse und die Portnummer ab, an die die Anforderung weitergeleitet wird. |
| ProtocolVersion |
Ruft die HTTP-Version ab, die vom anfordernden Client verwendet wird. |
| QueryString |
Ruft die Abfragezeichenfolge ab, die in der Anforderung enthalten ist. |
| RawUrl |
Ruft die URL-Informationen (ohne den Host und Port) ab, die vom Client angefordert werden. |
| RemoteEndPoint |
Ruft die Client-IP-Adresse und die Portnummer ab, von der die Anforderung stammt. |
| RequestTraceIdentifier |
Ruft den Anforderungsbezeichner der eingehenden HTTP-Anforderung ab. |
| ServiceName |
Ruft den Dienstanbieternamen (SERVICE Provider Name, SPN) ab, den der Client an die Anforderung gesendet hat. |
| TransportContext |
Ruft die TransportContext für die Clientanforderung ab. |
| Url |
Ruft das Uri vom Client angeforderte Objekt ab. |
| UrlReferrer |
Ruft den URI (Uniform Resource Identifier) der Ressource ab, die den Client auf den Server verweist. |
| UserAgent |
Ruft den vom Client dargestellten Benutzer-Agent ab. |
| UserHostAddress |
Ruft die Server-IP-Adresse und die Portnummer ab, an die die Anforderung weitergeleitet wird. |
| UserHostName |
Ruft den DNS-Namen und ggf. die vom Client angegebene Portnummer ab. |
| UserLanguages |
Ruft die natürlichen Sprachen ab, die für die Antwort bevorzugt werden. |
Methoden
| Name | Beschreibung |
|---|---|
| BeginGetClientCertificate(AsyncCallback, Object) |
Startet eine asynchrone Anforderung für das X.509 v.3-Zertifikat des Clients. |
| EndGetClientCertificate(IAsyncResult) |
Beendet eine asynchrone Anforderung für das X.509 v.3-Zertifikat des Clients. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetClientCertificate() |
Ruft das X.509 v.3-Zertifikat des Clients ab. |
| GetClientCertificateAsync() |
Ruft das X.509 v.3-Zertifikat des Clients als asynchronen Vorgang ab. |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |