如何从为目录列表打开的目录中获取文件?

Posted

技术标签:

【中文标题】如何从为目录列表打开的目录中获取文件?【英文标题】:How to Get Files From A Directory That's Open for Directory Listing? 【发布时间】:2012-08-07 02:54:04 【问题描述】:

假设一个网站已经为其文件夹之一设置了目录列表权限,我可以在网络浏览器上看到文件[如图所示]。有没有办法将此文件夹中的文件获取到数组中?

总之,我需要使用一种方法,该方法对 URL 执行 DirectoryInfo.GetFiles("C:/"); 的操作。

编辑:我宁愿使用一种方法,而不是获取网络响应并解析结果。这就像一个后门,以防万一没有其他方法。

【问题讨论】:

只有一个文件夹,或者您是否也希望获取子目录中的所有文件?您可以使用 webclient 加载 html 并使用正则表达式获取该信息 @Esen,我可以为子目录再做一次,没关系。但如果您能解释您的解决方案或指出示例等,我会很高兴。 【参考方案1】:

此代码将帮助您获取 html

             WebRequest request = WebRequest.Create("http://yourwebsite/yourwebdirectory/");
             var webResponse=request.GetResponse();
             Stream dataStream = webResponse.GetResponseStream(); 
             StreamReader reader = new StreamReader(dataStream); 
             string responseFromServer = reader.ReadToEnd(); 
             Console.WriteLine(responseFromServer); 
             reader.Close();
             webResponse.Close();

获得 html 后,您可以对其进行解析以获取文件名

【讨论】:

顺便说一句,你需要添加“使用system.net;” 感谢您的想法。我实际上考虑过这一点,我不好不在这个问题中提出要求。让我们希望有一个等效于 DirectoryInfo.GetFiles() 方法。如果没有,那么您的就是唯一的解决方案。 顺便说一句,我刚刚遇到***.com/a/124522/1221319讨论相同。

以上是关于如何从为目录列表打开的目录中获取文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C++ 中获取目录中的文件列表? [复制]

Vue.js webpack:如何获取目录中的文件列表?

如何在shell脚本中获取目录中的文件列表?

如何在 Python 中使用 os.walk 获取特定文件或目录列表?

VBA - 如何在 Excel 2010 的目录中获取最后修改的文件或文件夹

如何获取 zip 文件中所有目录的列表