C# POST请求的服务器应答-回发或回调参数无效

C# POST请求的服务器应答-回发或回调参数无效,c#,post,eventvalidation,C#,Post,Eventvalidation,我目前正在开发一个工具来获取和解析外部网站(不是我的)的一些内容。我不会粘贴代码,因为我认为它不会带来任何东西,但如果您认为它有用,我会这样做 以下是我的工具的主要步骤: 使用常规webrequest/webresponse获取网页 解析网页以了解应该解析多少页(解析的网页是一个研究结果,因此它可以提供许多页的结果) 由于常规浏览器中的页面更改是通过提交表单完成的,因此我通过解析网页检查了该表单的所有POST参数(隐藏) 使用这些参数创建POST请求 使用WebClient和UploadStr

我目前正在开发一个工具来获取和解析外部网站(不是我的)的一些内容。我不会粘贴代码,因为我认为它不会带来任何东西,但如果您认为它有用,我会这样做

以下是我的工具的主要步骤:

  • 使用常规webrequest/webresponse获取网页
  • 解析网页以了解应该解析多少页(解析的网页是一个研究结果,因此它可以提供许多页的结果)
  • 由于常规浏览器中的页面更改是通过提交表单完成的,因此我通过解析网页检查了该表单的所有POST参数(隐藏)
  • 使用这些参数创建POST请求
  • 使用WebClient和UploadString()方法将POST请求发送到服务器
不幸的是,最后一部分不起作用,并抛出一个500错误
无效的回发或回调参数。使用…启用事件验证。

如果有帮助,在表单的隐藏参数中,存在一个名为
EventValidation
的参数,我会将它提供给POST请求

也许有人能知道发生了什么,因为我不太熟悉asp。
请原谅我的英语错误

在.php页面上尝试一下,你会得到什么呢EventValidation隐藏参数就是用来打败这种页面欺骗的。你可以要求作者禁用它,但一个有安全意识的网络管理员甚至不会考虑它。这可能是一种避免页面欺骗的安全方法,但我不得不说我有点困惑。结果是有点难,但完全可行。我正在考虑一个WebBrowser先加载一个网页,然后使用InvokeScript调用表单验证的javascript函数,我可以完全进入我想要的网页,而无需任何进一步的工作。作者只允许咨询和复制供个人使用,所以从法律上讲,我不认为我是故意的,但是我不理解这种“安全”措施,如果它是如此容易绕过的话。