2012-04-12 62 views
1

我需要從http://nppes.viva-it.com/NPI_Files.html下載一個文件,問題是每個月文件名都會改變。我希望能夠在文件名中使用通配符,例如NPPES_Data_Dissemination _ *。zip,但不適用於WebClient。有沒有其他方法可以在不知道文件的確切名稱的情況下使用c#以編程方式下載此文件。在這個網頁上總會有1個和唯一的.zip文件...程序只是不知道名字是什麼。任何想法,將不勝感激!!使用WebClient下載一個zip文件,名字可以每月更改

謝謝!

+0

您無法請求您不知道名稱的資源。服務器使用您請求的資源進行響應。你需要找到名字。 – 2012-04-12 22:53:12

+0

HTTP協議不支持。 – SLaks 2012-04-12 22:54:44

回答

1

無法通過HTTP請求名稱不明的資源。

取而代之,請爲http://nppes.viva-it.com/NPI_Files.html製作WebRequest並解析它以獲取您感興趣的字符串,然後請求它;或者,讓NPI人員爲文件提供一致的名稱(因爲只有一個名稱,或許它應該稱爲_latest.zip或其他東西?)

1

您應該使用HTML Agility Pack(在NuGet上)來解析HTML並找到<a href="">

+0

就像SLaks說的那樣,你應該先抓取頁面來獲取文件名,然後再下載文件請求。 – Zachary 2012-04-12 22:58:15