httplistener с почтовыми данными - PullRequest
9 голосов
/ 26 декабря 2011

Я смотрю на создание небольшой службы Windows, которая будет общаться с клиентами через JSON. Я создал простой пример HttpListener, и он работает правильно.

Мой вопрос: как мне получить данные JSON от клиента (POST)?

спасибо

1 Ответ

20 голосов
/ 26 декабря 2011

Когда вы принимаете запрос от HttpListener, вы получаете HttpListenerContext. Оттуда вы можете получить HttpListenerRequest - и у него есть свойство InputStream, с которого вы можете читать данные.

Для чтения текстовых данных (таких как JSON) вы можете использовать свойство ContentEncoding и создать StreamReader. Например:

var context = listener.GetContext();
var request = context.Request;
string text;
using (var reader = new StreamReader(request.InputStream,
                                     request.ContentEncoding))
{
    text = reader.ReadToEnd();
}
// Use text here
...