Alo*_*mir 2 .net c# viewstate screen-scraping
我在编写用于抓取网页的实用程序时遇到了一个问题。
我正在发送 POST 请求来检索数据,我模仿了我正在抓取的网络行为(根据使用提琴手收集的信息)。
我已经能够自动替换我的 POST 上的所有参数,除了 VIEWSTATE。我的猜测是网络正在根据给定的 VIEWSTATE 执行一些逻辑,这就是为什么我没有得到预期的结果(我尝试在 VIEWSTATE 中输入 fiddler 给出的值,然后我确实得到了预期的结果,但是我想自动化这个过程)
有没有一种方法可以在不损坏它的情况下编辑 VIEWSTATE 字符串?
我尝试使用 base64 解码和编码(最后在 POST 操作之前使用 URLEncode),但无法保持有效。
视图状态可能是加密的。
无论如何,视图状态应该被加密。这是您似乎试图做的类型的防止 XSRF 攻击的保护 :-)
底线是您发回的 ViewState 必须与服务器发送给您的 ViewState 相同。这几乎就是它的用途。换句话说,要做你想做的事情,你必须保留服务器发送给你的视图状态的副本,并将相同的视图状态发送回去。然后服务器将向您发送一个新的视图状态,您必须在下一个请求中提交该视图状态,依此类推。