Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 导航并从外部网站下载文件_C#_.net - Fatal编程技术网

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

C# 导航并从外部网站下载文件,c#,.net,C#,.net,我在我的项目中有一个请求,我需要登录到一个外部网站,并需要从该网站下载一个文件。除了登录的用户名/密码外,我没有任何访问该网站的权限。是否有任何方法可以使用C#实现此功能。谢谢 您可以使用WebBrowser控件和WATIN library在站点中导航并单击下载按钮 WebBrowser控件有一个“下载文件”事件,您可以处理它取决于网站类型和身份验证: 1) 使用WebClient类 WebClient wc = new WebClient(); wc.Credentials = new Net

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

您可以使用WebBrowser控件和WATIN library在站点中导航并单击下载按钮


WebBrowser控件有一个“下载文件”事件,您可以处理它取决于网站类型和身份验证:

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");

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

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

  • 找出要发送哪个请求以获取特定资源。我假设它是对特定URL的GET请求。用于检查手动发送的请求


  • 是的,有很多方法。但你对我们有什么期望?为你写?嗨,我不想让你写代码,只是需要关于如何实现这一点的建议。在这个要求中,我需要打开一个银行网站,并使用uname和pwd登录到该网站,然后通过单击网站上的按钮下载文件。到目前为止,这是用脚本语言编写的,基于文本框和按钮的协调。但这不是那么有效,因为我们需要更改只要布局发生更改,就可以使用脚本。您可以通过Web客户端发布值。另请参阅