HttpListenerRequest Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Beskriver en inkommande HTTP-begäran till ett HttpListener objekt. Det går inte att ärva den här klassen.
public ref class HttpListenerRequest sealed
public sealed class HttpListenerRequest
type HttpListenerRequest = class
Public NotInheritable Class HttpListenerRequest
- Arv
-
HttpListenerRequest
Exempel
Följande kodexempel visar hur du tar emot och svarar på en 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
Kommentarer
När en klient skickar en begäran till en URI (Uniform Resource Identifier) som hanteras av ett HttpListener objekt, HttpListener tillhandahåller objektet ett HttpListenerContext objekt som innehåller information om avsändaren, begäran och svaret som skickas till klienten. Egenskapen HttpListenerContext.Request returnerar objektet HttpListenerRequest som beskriver begäran.
Objektet HttpListenerRequest innehåller information om begäran, till exempel begärandesträngen HttpMethod , UserAgent strängen och brödtextdata för begäran (se InputStream egenskapen).
Om du vill svara på begäran måste du hämta det associerade svaret med hjälp av Response egenskapen .
Egenskaper
| Name | Description |
|---|---|
| AcceptTypes |
Hämtar MIME-typerna som godkänts av klienten. |
| ClientCertificateError |
Hämtar en felkod som identifierar ett problem med den X509Certificate som tillhandahålls av klienten. |
| ContentEncoding |
Hämtar den innehållskodning som kan användas med data som skickas med begäran. |
| ContentLength64 |
Hämtar längden på brödtextdata som ingår i begäran. |
| ContentType |
Hämtar MIME-typen av brödtextdata som ingår i begäran. |
| Cookies |
Hämtar cookies som skickas med begäran. |
| HasEntityBody |
Hämtar ett Boolean värde som anger om begäran har associerade brödtextdata. |
| Headers |
Hämtar samlingen med sidhuvudnamn/värdepar som skickas i begäran. |
| HttpMethod |
Hämtar den HTTP-metod som anges av klienten. |
| InputStream |
Hämtar en dataström som innehåller brödtextdata som skickas av klienten. |
| IsAuthenticated |
Hämtar ett Boolean värde som anger om klienten som skickar den här begäran autentiseras. |
| IsLocal |
Hämtar ett Boolean värde som anger om begäran skickas från den lokala datorn. |
| IsSecureConnection |
Hämtar ett Boolean värde som anger om TCP-anslutningen som används för att skicka begäran använder SSL-protokollet (Secure Sockets Layer). |
| IsWebSocketRequest |
Hämtar ett Boolean värde som anger om TCP-anslutningen var en WebSocket-begäran. |
| KeepAlive |
Hämtar ett Boolean värde som anger om klienten begär en beständig anslutning. |
| LocalEndPoint |
Hämtar serverns IP-adress och portnummer som begäran riktas till. |
| ProtocolVersion |
Hämtar HTTP-versionen som används av den begärande klienten. |
| QueryString |
Hämtar frågesträngen som ingår i begäran. |
| RawUrl |
Hämtar den URL-information (utan värd och port) som begärs av klienten. |
| RemoteEndPoint |
Hämtar klientens IP-adress och portnummer som begäran kommer från. |
| RequestTraceIdentifier |
Hämtar begärandeidentifieraren för den inkommande HTTP-begäran. |
| ServiceName |
Hämtar det tjänstleverantörsnamn (SPN) som klienten skickade på begäran. |
| TransportContext |
TransportContext Hämtar för klientbegäran. |
| Url |
Hämtar objektet som Uri begärs av klienten. |
| UrlReferrer |
Hämtar URI (Uniform Resource Identifier) för resursen som hänvisade klienten till servern. |
| UserAgent |
Hämtar användaragenten som presenteras av klienten. |
| UserHostAddress |
Hämtar serverns IP-adress och portnummer som begäran riktas till. |
| UserHostName |
Hämtar DNS-namnet och, om det anges, det portnummer som anges av klienten. |
| UserLanguages |
Hämtar de naturliga språk som föredras för svaret. |
Metoder
| Name | Description |
|---|---|
| BeginGetClientCertificate(AsyncCallback, Object) |
Påbörjar en asynkron begäran för klientens X.509 v.3-certifikat. |
| EndGetClientCertificate(IAsyncResult) |
Avslutar en asynkron begäran för klientens X.509 v.3-certifikat. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetClientCertificate() |
Hämtar klientens X.509 v.3-certifikat. |
| GetClientCertificateAsync() |
Hämtar klientens X.509 v.3-certifikat som en asynkron åtgärd. |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |