.NET中是否可以列出遠程位置上的文件,如URL?與System.IO類的工作方式大致相同。我需要的只是遠程服務器上映像的URL。C#.NET遠程文件列表內容
4
A
回答
4
簡短的回答:沒有,除非你有過那web服務器的更多控制
龍答:以下是可能的解決方案......
您將需要服務器端腳本將在本地執行,並以您的首選格式輸出此列表。
大多數網絡服務器都實現默認的文件瀏覽頁面,因此理論上可以解析這些頁面,但這種解決方案將非常脆弱,即使在同一個Web服務器的不同版本之間也不是很便攜。
如果你有FTP訪問...
2
是否有可能在.NET中列出像一個URL遠程位置的文件?
您應該指定我們正在談論的協議。
對於HTTP,lubos hasko提供了答案:不。 HTTP沒有文件的概念;只有資源。如果你能控制Web服務器,你可以讓它提供一個目錄列表,或者更好的是,你可以編寫代碼來爲你列出服務器端的目錄。沒有這樣的控制,你必須依靠在服務器上提供一個列表,其中1)可能由於安全原因而被禁用,2)在其格式中是非標準化的,3)將像Lubos所說的那樣,脆弱地解析("scrape")。
如果您的意思是/如果服務器提供了一個用於文件傳輸的協議,例如FTP,SMB/CIFS等,它會容易得多。例如,對於FTP,您需要查看WebRequestMethods.Ftp.ListDirectoryDetails。