如何从 Web 目录获取文件列表?
如何从 Web 目录获取文件列表?如果我访问 Web 目录 URL,互联网浏览器会列出该目录中的所有文件。现在我只想在 C# 中获取该列表并在 BITS(后台智能传输服务)中下载它们。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何从 Web 目录获取文件列表?如果我访问 Web 目录 URL,互联网浏览器会列出该目录中的所有文件。现在我只想在 C# 中获取该列表并在 BITS(后台智能传输服务)中下载它们。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
关于“在 C# 中获取该列表”部分:
About "get that list in C#" part:
这是我最近研究的一个有趣的话题。如您所知,您可以通过 COM 访问 BITS,但这里有几个项目可以使它更容易:
SharpBITS.NET
表单设计器友好的后台智能传输服务 (BITS) 包装
此 MSDN 上的文章可能比您想知道的要多一些。
我尝试了 CodeProject 链接中的代码,它似乎工作得相当好。 CodePlex 项目看起来确实不错,但我还没有尝试过。
This is an interesting topic I investigated fairly recently. As you know you can access BITS via COM, but here are a couple projects to make it easier:
SharpBITS.NET
Forms Designer Friendly Background Intelligent Transfer Service (BITS) wrapper
This article on MSDN might be a bit more than you want to know.
I experimented with the code in the CodeProject link and it seemed to work reasonably well. The CodePlex project looks really good but I haven't tried it.
好吧,如果 Web 服务器允许列出相关目录中的文件,那么您就可以开始了。
不幸的是,对于网络服务器如何返回列表没有标准。它通常采用 HTML 格式,但 HTML 在多个 Web 服务器上的格式并不总是相同。
如果您想始终从同一 Web 服务器上的同一目录下载文件,只需在 Web 浏览器的目录中执行“查看源”即可。然后尝试编写一个小的正则表达式来从 HTML 源中获取每个文件名。
然后,您可以创建一个 WebClient,请求目录 URL,解析响应以使用正则表达式获取文件名,然后使用 BITS 客户端处理文件
希望这会有所帮助
Well, if the Web Server allows to list the files the directory in question, you're good to go.
Unfortunately, there's no standard on how the web server should return you the list. It is often in HTML, but the HTML is not always formatted the same across multiple web servers.
If you want to download files always from the same directory on the same web server, just do a "view source" while being in the directory in your web browser. Then try to write a small regular expression that will grab every file names from the HTML source.
You can then create a WebClient, request the directory URL, parse the response to get the file names with your regular expression, then process the files with your BITS client
Hope this helps
我编写了一些代码,可以从允许列表目录的 IIS 站点获取所有路径信息,包括文件和目录。您可以自定义正则表达式以满足您的需要(或更改为使用 html 解析器)。此外,您可以自己添加一些代码来获取更详细的信息,例如文件大小或创建时间。
您可以在两行中获取所有路径信息:
帮助程序代码:
I write some code that can get all path infos, including file and dir, from the IIS site which allow list directory. You can customize the regex to match your need (Or change to use html parser). Further you can add some code yourself to get more detailed info, like file size or create time.
you can get all path infos in 2 lines:
The helper code: