如何在不知道内容的情况下使用C#接收帖子并将int抛出变量?

如何在不知道内容的情况下使用C#接收帖子并将int抛出变量?,c#,asp.net,webforms,C#,Asp.net,Webforms,因此,我配置了一个外部(第三方)服务,通过推送请求向我发送数据。关于这些数据的格式没有太多文档,他们只是说指向一个接受POST的URL 因此,我想捕获这条消息,并将其添加到一个变量中,我可以将该变量添加到一个临时数据库中,并对其进行分析,以便稍后创建一个适当的处理方法 我看到的所有示例都显示了如何发送和捕获响应,但我只想捕获一条我不知道的随机消息 有任何提示吗?无论他们发送给应用程序的请求的格式如何,所有内容都将包含在其中(如果您只是在谈论页面或类似的内容,那么它将/应该内置为该页面的.requ

因此,我配置了一个外部(第三方)服务,通过推送请求向我发送数据。关于这些数据的格式没有太多文档,他们只是说指向一个接受POST的URL

因此,我想捕获这条消息,并将其添加到一个变量中,我可以将该变量添加到一个临时数据库中,并对其进行分析,以便稍后创建一个适当的处理方法

我看到的所有示例都显示了如何发送和捕获响应,但我只想捕获一条我不知道的随机消息


有任何提示吗?

无论他们发送给应用程序的请求的格式如何,所有内容都将包含在其中(如果您只是在谈论
页面
或类似的内容,那么它将/应该内置为该页面的
.request
属性)

如果请求具有表单值,则该对象上的
.FormData
属性将是这些值的
NameValueCollection
。如果POST正文中有内容,则该对象上的
.InputStream
属性将包含该数据。文件、标题、查询字符串值等都将位于该对象上


您可以将您喜欢的任何内容从该对象复制到您的数据中,检查您得到的内容,修补以更具体地针对他们发送给您的值,等等。在不知道他们将发送给您的数据的格式的情况下,任何更具体的内容都需要检查他们发送给您的内容,并从那里反向工程其格式。但是所有数据都将在
HttpRequest
对象中。

无论它们发送给应用程序的请求的格式如何,所有内容都将包含在该对象中(如果您只是在谈论
页面
或类似的内容,那么它将/应该作为该页面的
.request
属性内置)

如果请求具有表单值,则该对象上的
.FormData
属性将是这些值的
NameValueCollection
。如果POST正文中有内容,则该对象上的
.InputStream
属性将包含该数据。文件、标题、查询字符串值等都将位于该对象上


您可以将您喜欢的任何内容从该对象复制到您的数据中,检查您得到的内容,修补以更具体地针对他们发送给您的值,等等。在不知道他们将发送给您的数据的格式的情况下,任何更具体的内容都需要检查他们发送给您的内容,并从那里反向工程其格式。但是所有数据都将在该
HttpRequest
对象中。

您可以使用请求对象的InputStream属性。这将为您提供HTTP请求的原始数据

if (Request.RequestType == "POST")
{
    using (StreamReader reader = new StreamReader(Request.InputStream))
    {
        var wholeRequest = reader.ReadToEnd();
    }
}
如果只需要请求正文,可以使用request.Form.ToString()


我不会使用.FormData NameValueCollection,除非您知道它们将使用内容类型为application/x-www-form-urlencoded multipart/form data。其他内容类型将无法正确填充该集合。

您可以使用请求对象的InputStream属性。这将为您提供HTTP请求的原始数据

if (Request.RequestType == "POST")
{
    using (StreamReader reader = new StreamReader(Request.InputStream))
    {
        var wholeRequest = reader.ReadToEnd();
    }
}
如果只需要请求正文,可以使用request.Form.ToString()

我不会使用.FormData NameValueCollection,除非您知道它们将使用内容类型为application/x-www-form-urlencoded multipart/form data。其他内容类型将无法正确填充该集合