我正在从网站下载文件,我有链接。但链接的末尾部分更改为当月。我需要遍历链接,对月份部分进行更改,然后下载文件。

我的第一个问题是如何知道链接是否失败,转到另一个链接? 其次,你可以建议我循环链接吗?

最初我在文本框中提供了链接。

这是当前的代码

if (textBox2.Text != "")
             {
                 System.Net.WebClient we = new System.Net.WebClient();
                 we.DownloadFile(textBox2.Text, "c:\\NPPES.zip");
//this is the link                 //"http://nppesdata.cms.hhs.gov/NPPES_Data_Dissemination_July_2009.zip","c:\\NPPES.zip");
                 //string file = "C:\\NPPES.csv";
                 Unzipfile("c:\\NPPES.zip", "c:\\NPPES.csv");
                 MessageBox.Show("Download complete.Select the file to Import data");
             }
有帮助吗?

解决方案

如果通过“循环链接”你的意思是生成一个正确的链接,你可以这样做:

string curr_month = DateTime.Now.ToString("MMMM_yyyy",
                System.Globalization.CultureInfo.GetCultureInfo("en-US").DateTimeFormat);
string link = "http://nppesdata.cms.hhs.gov/NPPES_Data_Dissemination_" 
             + curr_month
             + ".zip";

检查下载是否成功,捕获 WebException

System.Net.WebClient we = new System.Net.WebClient();
try
{
    we.DownloadFile("", "");
}
catch (System.Net.WebException wex)
{
    //failed!
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top