HTTPS文件下载C#

时间:2012-07-22 01:27:03

标签: c#

我需要下载隐藏在HTTPS连接后面的文件。

我是新手下载安全网站背后的文件,我尝试使用凭据解决此问题,但无济于事。

根据我的阅读,您需要创建并使用证书来完成此操作,但我没有找到任何示例。任何帮助表示赞赏。

这就是我现在所拥有的:

        WebClient dove = new WebClient();
        CredentialCache mycache = new CredentialCache();
        dove.Credentials = new NetworkCredential("user", "pass"); ;
        dove.DownloadProgressChanged += new DownloadProgressChangedEventHandler(dove_DownloadProgressChanged);
        dove.DownloadFileCompleted += new AsyncCompletedEventHandler(dove_DownloadFileCompleted);
        dove.DownloadFileAsync(new Uri("http://secure.website.com/File/Default.aspx"), "file.xls");

有人可以向我提供一个如何完成此操作的示例,谢谢。

2 个答案:

答案 0 :(得分:2)

尝试:

ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, policy) => {
    //do what you want
    return true;
};

答案 1 :(得分:2)

.net透明地支持https证书,您不需要明确提供它。您的代码看起来很好,只要您的网站不需要表单身份验证,它就应该可以运行。从您的代码看,身份验证可能是基本身份验证。但是,如果需要通常对网站进行表单身份验证,那么首先需要编写一个代码来验证并从服务器接收经过身份验证的cookie。 怎么做?更好地看看这个问题 HttpClient and forms authentication in C#