HttpListenerRequest Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Описывает входящий HTTP-запрос для объекта HttpListener. Этот класс не наследуется.
public ref class HttpListenerRequest sealed
public sealed class HttpListenerRequest
type HttpListenerRequest = class
Public NotInheritable Class HttpListenerRequest
- Наследование
-
HttpListenerRequest
Примеры
В следующем примере кода показано, как получать и реагировать на .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
Комментарии
Когда клиент выполняет запрос к универсальному коду ресурса (URI), обрабатываемый HttpListener объектом , объект предоставляет HttpListenerContext объект , HttpListener содержащий сведения об отправителе, запросе и ответе, отправляемом клиенту. Свойство HttpListenerContext.Request возвращает HttpListenerRequest объект , описывающий запрос.
Объект HttpListenerRequest содержит сведения о запросе, такие как строка запроса HttpMethod , UserAgent строка и данные текста запроса (см. InputStream свойство ).
Чтобы ответить на запрос, необходимо получить связанный ответ с помощью Response свойства .
Свойства
AcceptTypes |
Возвращает типы MIME, принятые клиентом. |
ClientCertificateError |
Возвращает код ошибки, который указывает на неполадку, связанную с сертификатом X509Certificate, предоставленным клиентом. |
ContentEncoding |
Возвращает кодировку содержимого, которая может использоваться с данными, отправляемыми с запросом. |
ContentLength64 |
Возвращает длину данных основного текста, содержащихся в запросе. |
ContentType |
Возвращает тип MIME данных основного текста, содержащихся в запросе. |
Cookies |
Возвращает файлы cookie, отправленные вместе с запросом. |
HasEntityBody |
Возвращает значение Boolean, указывающее, имеет ли запрос связанные данные основного текста. |
Headers |
Возвращает коллекцию пар "имя-значение" заголовка, отправляемых в запросе. |
HttpMethod |
Возвращает метод HTTP, определенный клиентом. |
InputStream |
Возвращает поток, содержащий данные основного текста, отправленные клиентом. |
IsAuthenticated |
Возвращает значение Boolean, которое указывает, прошел ли проверку подлинности клиент, отправивший этот запрос. |
IsLocal |
Возвращает значение Boolean, которое указывает, был ли запрос отправлен с локального компьютера. |
IsSecureConnection |
Возвращает значение Boolean, которое указывает, используется ли для подключения TCP, по которому отправляются запросы, протокол SSL. |
IsWebSocketRequest |
Boolean Возвращает значение, указывающее, было ли TCP-подключение запросом WebSocket. |
KeepAlive |
Возвращает значение Boolean, которое указывает, требует ли клиент постоянного подключения. |
LocalEndPoint |
Возвращает IP-адрес сервера и номер порта, на который будет перенаправлен запрос. |
ProtocolVersion |
Возвращает версию HTTP, используемую отправляющим запрос клиентом. |
QueryString |
Возвращает строку, включенную в запрос. |
RawUrl |
Возвращает сведения об URL-адресе (без узла и порта), запрошенные клиентом. |
RemoteEndPoint |
Возвращает клиентский IP-адрес и номер порта, которые являются источниками запроса. |
RequestTraceIdentifier |
Возвращает идентификатор запроса входящего HTTP-запроса. |
ServiceName |
Получает имя поставщика услуг (SPN), которое было отправлено клиентом в запросе. |
TransportContext |
Получает TransportContext для запроса клиента. |
Url |
Возвращает объект Uri, запрошенный клиентом. |
UrlReferrer |
Возвращает URI ресурса, который перенаправляет клиент на сервер. |
UserAgent |
Возвращает агента пользователя, предоставляемого клиентом. |
UserHostAddress |
Возвращает IP-адрес сервера и номер порта, на который будет перенаправлен запрос. |
UserHostName |
Возвращает DNS-имя и, если применимо, номер порта, указанный клиентом. |
UserLanguages |
Возвращает естественные языки, предпочитаемые для ответа. |
Методы
BeginGetClientCertificate(AsyncCallback, Object) |
Начинает асинхронный запрос клиентского сертификата X.509 v.3. |
EndGetClientCertificate(IAsyncResult) |
Завершает асинхронный запрос клиентского сертификата X.509 v.3. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetClientCertificate() |
Получает клиентский сертификат X.509 v.3. |
GetClientCertificateAsync() |
Извлекает клиентский сертификат X.509 v.3 как асинхронную операцию. |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |