3

我有一个网页可以拦截 POST 请求,从请求中提取用户名,并且应该根据用户名转发请求。现在,我注意到传入的 HttpRequest 有一个 Params 属性,而 HttpWebRequest 没有。为什么是这样?有没有办法可以在传出的 HttpWebRequest 中捕获参数数据?

谢谢。

4

2 回答 2

4

它们只是两个不同包中的两个不同的 .Net 类:

   系统对象
      System.MarshalByRefObject
         System.Net.WebRequest
            System.Net.HttpWebRequest
   系统对象
      System.Web.HttpRequest

HttpWebRequest 是一个旧的 .Net 1.1 东西 - 如果您打算重构任何代码(或编写任何新代码!),我肯定会使用 Web.HttpRequest

恕我直言...

于 2012-09-14T19:53:48.963 回答
1

对于初学者来说,它们是完全不同的类,在不同的命名空间中。话虽如此,

Params是一个包装器,它公开查询字符串参数和 POST 数据。当您构建一个无法写入参数的请求时,您必须指定您实际添加的数据类型。因此,您应该将其作为查询字符串添加到目标 url,或者您可以将其添加到请求的正文中并使其成为 POST。

于 2012-09-14T19:57:06.987 回答