如何从为目录列表打开的目录中获取文件?
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讨论相同。以上是关于如何从为目录列表打开的目录中获取文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Python 中使用 os.walk 获取特定文件或目录列表?