从https网站下载使用C#的文件



我正在尝试从https网站下载pdf文件,但它不起作用。我是C#的新手,所以做了一些研究并找到了一个简单的代码。更糟糕的是,我得到的例外非常通用。请帮忙。

    static void Main(string[] args)
    {
        string file_ = "https://www.nseindia.com/content/circulars/CMPT34469.pdf";
        string path_ = @"E:RSROfficeEEPFileDownloaderoutputHello_World.pdf";
        WebClient wc_ = new WebClient();
        wc_.DownloadFile(file_, path_);
    }

例外情况:系统中发生了类型为"System.Net.WebException"的未处理异常.dll其他信息:远程服务器返回错误:(403( 禁止访问。

服务器正在使用用户代理标头检查您是否是真实用户。它还要求您指定所需的 MIME 类型。这不是一般的 C# 内容,它只是您要连接到的主机 (nseindia.com(。

这对我有用。

static void Main(string[] args)
{
    string file_ = "https://www.nseindia.com/content/circulars/CMPT34469.pdf";
    string path_ = @"E:RSROfficeEEPFileDownloaderoutputHello_World.pdf";
    WebClient wc_ = new WebClient();
    wc_.Headers.Add(HttpRequestHeader.UserAgent, "Other");
    wc_.Headers.Add(HttpRequestHeader.Accept, "application/pdf");
    wc_.DownloadFile(file_, path_);
}
public static bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
    return true;
}
static void Main(string[] args)
{
    string file_ = "https://www.nseindia.com/content/circulars/CMPT34469.pdf";
    string path_ = @"E:RSROfficeEEPFileDownloaderoutputHello_World.pdf";
    WebClient wc_ = new WebClient();
    wc_.Headers.Add(HttpRequestHeader.UserAgent, "Other");
    wc_.Headers.Add(HttpRequestHeader.Accept, "application/pdf");
    ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate);
    wc_.DownloadFile(file_, path_);
}

相关内容

  • 没有找到相关文章

最新更新