Ответ 1
Вы можете использовать .AsString()
в теге body, чтобы вернуть поток полезной нагрузки в качестве необработанного текста, переданного от клиента.
например
var body = Request.Body.AsString();
Я разрабатываю веб-сервис Nancy, который будет собирать данные от клиентов, которые будут отправлять HTTP-запросы, подобные этому
POST /iclock/cdata?SN=3163602360001&table=OPERLOG&OpStamp=426433018 HTTP/1.1
Host: 218.108.223.49:9001
User-Agent: iClock Proxy/1.09
Connection: close
Content-Length: 4883
Accept: */*
OPLOG 0\tab 0\tab 2012-09-07 11:36:39\tab 0\tab 0\tab 0\tab 0
OPLOG 3\tab 0\tab 2012-09-07 11:36:42\tab 55\tab 0\tab 0\tab 0
Проблема в том, что я не могу найти способ собрать эти данные в модуле Нэнси. Есть ли способ получить содержимое тела необработанного запроса внутри модуля Нэнси?
Вы можете использовать .AsString()
в теге body, чтобы вернуть поток полезной нагрузки в качестве необработанного текста, переданного от клиента.
например
var body = Request.Body.AsString();
Для NancyFX 2.0 вам нужно будет прочитать тело как поток.
var body = RequestStream.FromStream(Request.Body).AsString();
Это позволяет вам получить тело как текст.