C#.NET列出了远程文件的内容

时间:2008-08-17 14:48:00

标签: .net

在.NET中是否可以在URL等远程位置列出文件? System.IO类的工作方式与此类似。我只需要远程服务器上的图像的URL。

2 个答案:

答案 0 :(得分:3)

简答:不,除非您对该网络服务器有更多控制权

答案很长:以下是可能的解决方案......

  1. 您将需要在本地执行此操作的服务器端脚本,并以您首选的格式输出此列表。

  2. 大多数网络服务器实现了默认的文件浏览页面,因此理论上你可以解析这些页面,但是这个解决方案非常脆弱,即使在同一个网络服务器的不同版本之间也不是很便携。

  3. 如果您有FTP访问权限...

答案 1 :(得分:1)

  

在.NET中是否可以列出远程位置的文件,如URL?

您应该指定我们正在谈论的协议。

对于HTTP,lubos hasko提供了答案:没有。 HTTP没有文件概念;只有资源。如果您可以控制Web服务器,可以要求它提供目录列表,或者更好的是,您可以编写为您列出目录服务器端的代码。如果没有这样的控制,你必须依赖在服务器上提供一个列表,1)可能出于安全原因被禁用,2)其格式是非标准化的,3)将像lubos一样说,脆弱的解析("scrape")。

如果您的意思是/如果服务器提供用于文件传输的协议,例如FTP,SMB / CIFS等,那么它将会容易得多。例如,对于FTP,您需要查看WebRequestMethods.Ftp.ListDirectoryDetails