【发布时间】:2012-01-28 02:24:33
【问题描述】:
我正在考虑创建一个小型 Windows 服务,该服务将通过 JSON 与客户端进行通信。我创建了一个简单的 HttpListener 示例,并且工作正常。
我的问题是如何从客户端(POST)检索 JSON 数据?
谢谢
【问题讨论】:
标签: c# json httplistener
我正在考虑创建一个小型 Windows 服务,该服务将通过 JSON 与客户端进行通信。我创建了一个简单的 HttpListener 示例,并且工作正常。
我的问题是如何从客户端(POST)检索 JSON 数据?
谢谢
【问题讨论】:
标签: c# json httplistener
当您接受来自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
【讨论】:
text 和空字符串,因为请求正文中不包含任何数据。如果流是Stream.Null,我怀疑您没有实际上正确发送数据。我看到您现在在评论中添加了更多信息,包括另外两个问题 - 这些问题确实应该在新帖子中,因为它们与这个原始问题无关。
post发送的二进制数据