我正在尝试从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_);
}