求解:c#是否有什么类方法,可以获得一个URL下面的所有目录和文件信息?

程序海哥 2018-12-13 09:43:37
求解:c#是否有什么类方法,可以获得一个URL下面的所有目录和文件
...全文
409 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序海哥 2018-12-13
  • 打赏
  • 举报
回复
引用 3 楼 X-i-n 的回复:
写一个GetPage(string url),获取页面
获取网页里所有链接(除了"../"),并保存A标签的文本和href
判断链接是目录链接(href 以 / 结尾)还是文件链接,为目录链接递归调用GetPage()方法


感谢回复,你的方法比较靠谱些,能发一份你哪个类给我试下吗?邮箱:85759465@qq.com
  • 打赏
  • 举报
回复
比如说访问 ftp,比如说访问 svn,等等,等你说明白具体是什么系统协议,学过具体系统设计或者接口原理,再编程比较好。
  • 打赏
  • 举报
回复
引用 9 楼 dongmusic 的回复:
这个只能访问电脑上面的文件系统的文件夹及文件吧。url方式访问的情况下用这个可能不管用。
嗯是的,就不存在“一个URL下面的所有目录和文件信息”这么一种概念。一个 url “下面”本来就没什么目录和文件,只有具体化这个概念(比如说能搞懂具体基于什么系统协议的 url),有了深入一点的知识,才能具体说明到底是是那么的目录和文件。不过那个时候,(不管分别是哪一个系统的目录和文件概念)先看看具体的入门书,上面都有单独的讲解。
程序海哥 2018-12-13
  • 打赏
  • 举报
回复
using System.IO类方法是获取本地的。这个不能取url的。
X-i-n 2018-12-13
  • 打赏
  • 举报
回复
写一个GetPage(string url),获取页面 获取网页里所有链接(除了"../"),并保存A标签的文本和href 判断链接是目录链接(href 以 / 结尾)还是文件链接,为目录链接递归调用GetPage()方法
吉普赛的歌 2018-12-13
  • 打赏
  • 举报
回复
如果你只能用浏览器访问, 进不了服务器,那只能获取到这个 url 的 html , 再根据内容去解析了
  • 打赏
  • 举报
回复
System.IO.Directory.GetFiles
dongmusic 2018-12-13
  • 打赏
  • 举报
回复
引用 1 楼 娃都会打酱油了 的回复:
System.IO.Directory.GetFiles


这个只能访问电脑上面的文件系统的文件夹及文件吧。url方式访问的情况下用这个可能不管用。
  • 打赏
  • 举报
回复

                string d = "http://120.*.*.171/SOFTUPDATE/";//你自己填自己ip地址,我这边根据截图随便填了已有的
                System.Net.Http.HttpClient client = new System.Net.Http.HttpClient();
                string z = "";
                try
                {
                    client.Timeout = TimeSpan.FromSeconds(3);//超时时间,这里根据网络情况自己考虑,我觉得3s足够了
                    z = client.GetAsync(d).Result.Content.ReadAsStringAsync().Result;
                }
                catch (Exception)
                {
                    //throw;
                }
                var reg = @"(?is)<a[^>]*?href=(['""\s]?)(?<href>[^'""\s]*)\1[^>]*?>";

                var mach = System.Text.RegularExpressions.Regex.Matches(z.ToLower(),reg,System.Text.RegularExpressions.RegexOptions.IgnoreCase);

                foreach (System.Text.RegularExpressions.Match m in mach)
                {
                    Console.WriteLine(m.Groups["href"].Value);//这就是每一个数据了,你自己处理不要的放到新的list或什么中就可以获取到你要的东西了。
                }
  • 打赏
  • 举报
回复
这样一看还有不少子目录呢,你要获取子目录的信息吗?
  • 打赏
  • 举报
回复
引用 5 楼 阿徐大海 的回复:
[quote=引用 3 楼 X-i-n 的回复:] 写一个GetPage(string url),获取页面 获取网页里所有链接(除了"../"),并保存A标签的文本和href 判断链接是目录链接(href 以 / 结尾)还是文件链接,为目录链接递归调用GetPage()方法
感谢回复,你的方法比较靠谱些,能发一份你哪个类给我试下吗?邮箱:85759465@qq.com[/quote] 你这里除了文件还有子目录,要管吗? 我看你有个UpdateList.xml为什么不读取一下看看内容? 顺手做了一下,效果如下图:

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧