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