获取发布的表单数据

时间:2014-05-01 18:07:59

标签: c# asp.net post http-post amazon-sns

我正在尝试通过Amazon SNS发布表单数据。他们提出的请求的示例是given here

我的网页是ASHX处理程序。我试过了:

context.Request.Form.ToString();

context.Request.ServerVariables["ALL_RAW"]

var data = String.Empty;
if (context.Request.ContentLength > 0)
{
    using (var requestStream = new MemoryStream())
    {
        var buffer = new byte[context.Request.ContentLength];
        context.Request.InputStream.Read(buffer, 0, context.Request.ContentLength);
        requestStream.Write(buffer, 0, context.Request.ContentLength);
        data = new StreamReader(requestStream).ReadToEnd();
    }
}

所有这些都不会返回任何内容,如果我使用上述内容在我的日志中捕获请求,我只能捕获请求的标头而不是实际发布的数据。

如何捕获应该发布到字符串中的这个JSON数据?

1 个答案:

答案 0 :(得分:0)

Bah,我发布后似乎总能解决这些问题!这似乎可以使数据正常:

var data = String.Empty;
using (var receiveStream = context.Request.InputStream)
{
    using (var readStream = new StreamReader(receiveStream, Encoding.UTF8))
    {
        data = readStream.ReadToEnd();
    }
}