【发布时间】:2012-01-30 23:02:56
【问题描述】:
我在编写用于抓取网页的实用程序时遇到了一个问题。
我正在发送 POST 请求以检索数据,我模仿了我正在报废的网络的行为(根据 fiddler 收集的信息)。
我已经能够自动替换除 VIEWSTATE 之外的 POST 上的所有参数。 我的猜测是网络正在根据给定的 VIEWSTATE 执行一些逻辑,这就是为什么我没有得到预期的结果(我尝试输入提琴手在 VIEWSTATE 中给出的值,然后我确实得到了预期的结果,但是我想自动化这个过程)
有什么方法可以编辑 VIEWSTATE 字符串而不损坏它?
我尝试使用 base64 解码和编码(最后在 POST 操作之前使用 URLEncode),但无法保持有效。
【问题讨论】:
-
.Net 网站太痛苦了,如果没有机械化之类的东西,很难刮掉。我不确定 c# 存在哪些选项。
-
@pguardiario 我想是的。我想我可能会采取不同的方向,也许使用使用 Silenium 制作的自定义脚本。手动少一点。
-
@AlonAmir,不要使用 Selenium,它的工作量太大。我有同样的问题,这个链接很有帮助:asoftwaredeveloper.wordpress.com/category/extracting-view-state
标签: c# .net screen-scraping viewstate