c# - 使用C#登录网站

标签 c# browser web-crawler

如果这个主题已经被回答,我很抱歉,但我找不到我需要的(还)。

我正在开发一个程序,该程序可以从使用相同基础架构的大学网站下载文件。这是一个开源项目,我试图在空闲时间支持它 (托管在 goodle 代码:http://code.google.com/p/highlearner/)

到目前为止,我们使用 GET 和 POST 请求登录到正确的页面并下载内容。但是大学不断地改变他们的网站,每一个小的改变都需要在 Highlearner 中学习,这需要一个新版本,自动更新所有用户等等。而且,每所大学都有自己的登录页面,需要我定制一个登录序列..

所以我正在寻找更强大的解决方案。而不是手动重定向和设置 HTTP 参数。是否有某种支持 HTML + Javascript 的迷你浏览器?不需要 GUI,我只需要引擎。 这样,我只需填写表单参数并让浏览器完成工作。

谢谢, 尼泰

最佳答案

您可以尝试使用 WatiN 来自动化该过程图书馆 。它允许您单击按钮、提交表单等。

using (var ie = new IE(loginUrl)) 
{
    if (ie.TextField("username").Exists 
       && ie.TextField("password").Exists)
    {
        ie.TextField("username").Value = "username";
        ie.TextField("password").Value = "password";
        ie.Button(Find.ByName("submit")).Click();
    }
}

关于c# - 使用C#登录网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6211311/

相关文章:

c# - DirectShow:图形在 GraphEdit 中工作,而不是在代码中工作

javascript - 浏览器允许卸载多少事件?

indexing - 使用 nutch -> elasticsearch 解决方案时重复

php - 无法使用 php 脚本下载 csv

python - 无法让 Scrapy 管道工作

c# - Reflection.Emit 如何分配不兼容的类型?

c# - 从 MemberExpression 中获取对象?

c# - Rotativa ActionAsPdf() 非常慢

android - 将文本从网站共享到 android 应用程序的方式是什么,就像在 android sdk 中发送 Intent 一样

java - 在 Java 中嵌入 Web 浏览器窗口