Прокрутите URL, чтобы найти рабочую ссылку - PullRequest
1 голос
/ 09 сентября 2009

Я загружаю файл с веб-сайта, и у меня есть ссылка. Но конечная часть ссылки изменится на текущий месяц. Мне нужно перебрать ссылку, внести изменения в месячную часть и загрузить файл.

Мой первый вопрос: как узнать, произошла ли ссылка, чтобы перейти к другой ссылке? Во-вторых, можете ли вы предложить мне способ перебрать ссылку?

Изначально я предоставляю ссылку в текстовом поле.

Вот текущий код

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");
             }

1 Ответ

3 голосов
/ 09 сентября 2009

если под «циклически проходить по ссылке» вы подразумеваете создание правильной ссылки, вы можете сделать это:

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!
}
...