Прочитать на английском

Поделиться через


HttpListenerRequest.InputStream Свойство

Определение

Возвращает поток, содержащий данные основного текста, отправленные клиентом.

public System.IO.Stream InputStream { get; }

Значение свойства

Доступный для чтения объект Stream, который содержит байты, отправленные клиентом в основном тексте запроса. Это свойство возвращает значение Null, если вместе с запросом не было отправлено никаких данных.

Примеры

В следующем примере кода показано использование этого свойства для чтения данных, отправленных с помощью запроса.

public static void ShowRequestData (HttpListenerRequest request)
{
    if (!request.HasEntityBody)
    {
        Console.WriteLine("No client data was sent with the request.");
        return;
    }
    System.IO.Stream body = request.InputStream;
    System.Text.Encoding encoding = request.ContentEncoding;
    System.IO.StreamReader reader = new System.IO.StreamReader(body, encoding);
    if (request.ContentType != null)
    {
        Console.WriteLine("Client data content type {0}", request.ContentType);
    }
    Console.WriteLine("Client data content length {0}", request.ContentLength64);

    Console.WriteLine("Start of client data:");
    // Convert the data to a string and display it on the console.
    string s = reader.ReadToEnd();
    Console.WriteLine(s);
    Console.WriteLine("End of client data:");
    body.Close();
    reader.Close();
    // If you are finished with the request, it should be closed also.
}

Комментарии

Если клиент передает данные (например, с помощью метода HTTP POST ), поток, возвращаемый этим методом, содержит эти данные.

Примечание

Закрытие запроса не закрывает поток, возвращаемый этим свойством. Если поток больше не нужен, его следует закрыть, вызвав Close метод .

Примечания для тех, кто вызывает этот метод

Данный член генерирует сведения трассировки, если в приложении включена трассировка сети. Дополнительные сведения см. в статье Трассировка сети в .NET Framework.

Применяется к

Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 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

См. также раздел