您需要使用WebClient Credentials属性设置您的凭据。您可以通过为其分配NetworkCredential的实例来完成此操作。请看下图:
using (WebClient client = new WebClient()){
client.Credentials = new NetworkCredential("user-name", "password");
client.DownloadFile("url", @"file-location");
}
编辑
如果你不想硬编码用户名和密码,您可以在Web客户端的UseDefaultCredentials属性设置为true。这将使用当前登录用户的凭证。从documentation。
Credentials属性包含用于访问主机上资源的认证凭证。在大多数客户端场景中,您应该使用DefaultCredentials,这是当前登录用户的凭据。为此,请将UseDefaultCredentials属性设置为true,而不是设置此属性。
这将意味着你可以修改上面的代码:
using (WebClient client = new WebClient()){
client.UseDefaultCredentials = true;
client.DownloadFile("url", @"file-location");
}
来源
2017-04-08 01:03:49
Dec
的URL重定向到登录,您需要验证这些参数传递在您下载图片之前 – Krishna
我在网页浏览器中登录。 – szanex
不,你必须从网络客户端 – Krishna