質問

ウェブサイトからファイルをダウンロードしていますが、リンクがあります。ただし、リンクの最後の部分は今月に変更されます。リンクをループして、月の部分を変更し、ファイルをダウンロードする必要があります。

最初の質問は、リンクが失敗したかどうかを知り、別のリンクに移動する方法です。 第二に、リンクをループする方法を提案できますか?

最初にテキストボックスにリンクを提供します。

現在のコードは次のとおりです

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