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