我想使用c#创建一个应用程序,它可以接收任何发送给它的帖子。
例如,当我从html发布<input name="inp1" type="text" value="something">
时,它应该将inp1作为内容。
到目前为止,我一直在寻找每一个问题,并让我接受了这个问题。
private void ProcessRequest(HttpListenerContext context)
{
// Get the data from the HTTP stream
var body = new StreamReader(context.Request.InputStream).ReadToEnd();
byte[] b = Encoding.UTF8.GetBytes("ACK");
context.Response.StatusCode = 200;
context.Response.KeepAlive = false;
NameValueCollection coll = HttpUtility.ParseQueryString(body);
Debug.Write(body);
}
这是输出:
------WebKitFormBoundaryDykOSF9gSjwBSbS2
Content-Disposition: form-data; name="inp1"
something
------WebKitFormBoundaryDykOSF9gSjwBSbS2--
如何获得像"form["inp1"] = something"
答案 0 :(得分:2)
不是丢弃col1
,而是使用它来获取集合中的所有键和值,并将它们格式化为字符串以进行输出。这是一个例子:
NameValueCollection coll = HttpUtility.ParseQueryString(body);
var response = new StringBuilder();
foreach (var key in col1.AllKeys)
{
response.Append(String.Format(@"form[""{0}""] = {1}\r\n", key, col1[key])); //Edit the format string to taste
}
Debug.Write(response.ToString());