从外部网站导航并下载文件

时间:2012-12-15 19:00:05

标签: c# .net

我的项目中有一个请求,我需要登录外部网站,需要从网站下载文件。我没有任何访问该网站,除了用户名/密码登录。有没有办法使用C#实现此功能。谢谢!

3 个答案:

答案 0 :(得分:2)

这取决于网站的类型和身份验证:

1)使用WebClient类

WebClient wc = new WebClient();
wc.Credentials = new NetworkCredential(username, password);
wc.DownloadFile(url, "c:\\");

2)如果第一个不起作用,你可以使用webbrowser控件实现它

 HtmlElement ele = webBrowser1.Document.GetElementById("email");
 if (ele != null)
    ele.InnerText = "username";

 ele = webBrowser1.Document.GetElementById("pass");
 if (ele != null)
    ele.InnerText = "pass";

 ele = webBrowser1.Document.GetElementById("Login");
 if (ele != null)
    ele.InvokeMember("click");

答案 1 :(得分:0)

您可以将WebBrowser控件与WATIN库一起使用,以浏览该站点并单击下载按钮。

WebBrowser控件有一个可以处理的“下载文件”事件

答案 2 :(得分:0)

如果您可以手动执行此操作,则可以使用C#或任何其他支持HTTP请求的语言以编程方式执行此操作。您所需要的只是:

  1. 了解如何正确验证服务器。完成此操作后,您将获得一个身份验证令牌以及与此令牌关联的会话。然后,您将令牌附加到服务器的所有后续请求。

  2. 找出要获取该特定资源的请求。我认为它是特定URL的GET请求。如果您手动执行,请使用Fiddler检查发送的请求。