2

我需要下载一个隐藏在 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");

谁能给我一个如何完成这个的例子,谢谢。

4

2 回答 2

2

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

于 2012-07-22T01:44:57.263 回答
2

尝试:

ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, policy) => {
    //do what you want
    return true;
};
于 2012-07-22T01:36:03.077 回答