通过控制台应用程序在ASP.Net Forms授权网站上进行身份验证
时间:2020-03-05 18:41:59 来源:igfitidea点击:
我正在尝试构建一个Cconsole应用程序,以自动从我们的网站上抓取某些文件,主要是为了节省自己的点击次数,坦率地说,只是为了做到这一点。但是我遇到了一个障碍,我一直无法找到一个可行的解决方案。
我要连接的网站使用ASP.Net表单授权,但我不知道如何使用它进行身份验证。该应用程序是一个完整的工具,因此我可以对用户名和密码或者任何其他所需的身份验证信息进行硬编码,并且解决方案本身不需要足够可行,就可以发布给普通用户。换句话说,如果唯一可能的解决方案是破解,那我很好。
基本上,我试图使用HttpWebRequest来拉出具有文件列表的站点,遍历该列表,然后下载所需的文件。因此,一旦我可以让网站认为我获得授权,该网站上的实际工作就变得微不足道了。
解决方案
回答
该页面将入门。我们首先需要对页面进行请求,然后将Cookie保存到所有以后的请求中都包含的容器中。这样可以使我们保持登录状态,并能够检索文件。
回答
我已经处理过类似的事情,最难的部分是弄清楚我们要"伪造"以获得授权所需要的东西。在我的情况下,它被授权到某些Lotus Notes Web服务中,但是细节并不重要,方法相同。
本质上,我们需要记录一个常规的用户会话。我会推荐Fiddler http://www.fiddler2.com,但如果我们使用的是Linux或者其他操作系统,则需要使用Wireshark来解决一些问题。不知道是否有可以使用的firefox插件。
无论如何,启动IE,然后启动Fiddler。完成登录过程。
停止你在做什么。切换到提琴手窗格,并详细检查记录的会话。它应该为我们提供使用WebRequest进行伪造所需的确切信息。