欺骗IsPostBack

3

我正在使用HtmlAgilityPack作为自动化流程的一部分,从现有的内部网页中提取内容。问题是我需要让它认为IsPostBack为真。

流程如下:

  • 对页面进行初始调用并提取HTML。

  • 解析HTML以提取__EVENTVALIDATION、__VIEWSTATE、__EVENTTARGET等,并将它们附加到我的下一个POST回同一页面的请求中。

  • 追加特定标准的POST以模拟用户输入(例如日期范围选择)。

  • POST回同一页面并从响应中检索HTML。

在测试中它可以正常工作,根据我的提交设置了两个标准。但是,在IsPostBack检查中覆盖了另外两个标准。到目前为止,我还没有能够使它在第二个请求中看到IsPostBack为真。

有人知道ASP.NET具体观察什么来设置IsPostBack吗?


我已经编辑了你的标题。请参考“问题的标题应该包含“标签”吗?”,在那里达成共识是“不应该”。 - John Saunders
我不知道答案,但如果它不是你正在做的其中之一,我建议使用Fiddler来观察实际的POST请求,并将其与您的虚假POST请求进行比较,以查看是否可以找到差异。最好让您的虚假POST请求尽可能接近现实。 - Joe Enos
是的,我甚至编写了一些代码来自动复制标题,但我仍然得到相同的行为。 - Underground
没能让它正常工作,但我找到了一个解决方法。它涉及设置不同的参数,但我必须为每个参数进行单独的调用。检索更新后的VIEWSTATE,然后在下一次调用中使用它并设置下一个参数。这很麻烦,但对于这个特定的实例来说,它确实实现了我需要的功能。 - Underground
哎呀,真是麻烦。这就是我尽一切可能避免使用WebForms的众多原因之一。即使是稍微超出寻常的事情,也是一场噩梦。 - Joe Enos
当页面被获取时,为什么不通过插入/查找<input type='submit'/>并使用JavaScript单击它来重新发布表单,以便跟踪_EVENTTARGET、_EVENTARGUMENT和其他隐藏输入所需的内部理解asp.net框架的工作方式? - Tawfik Khalifeh
1个回答

0
钓鱼时,您需要一个类似于您想要欺骗的页面的简单页面。
如果您需要一个简单页面,则需要下载此软件以复制离线浏览器。对于此软件,您将获得HTML、CSS和JS。
然后您可以使用它。

http://www.httrack.com/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接