C# 如何在服务器上搜索特定文件?
我正在尝试在web(站点/服务器)上查找特定文件,此文件的扩展名可能因服务器而异。如何确定唯一服务器的扩展 示例可能性: www.website.com/list.bz2 --或-- www.website.com/list.gzC# 如何在服务器上搜索特定文件?,c#,file,search,url,httpwebrequest,C#,File,Search,Url,Httpwebrequest,我正在尝试在web(站点/服务器)上查找特定文件,此文件的扩展名可能因服务器而异。如何确定唯一服务器的扩展 示例可能性: www.website.com/list.bz2 --或-- www.website.com/list.gz using System; using System.IO; class App { public static void Main() { string searchPath = @"c:\"; string sea
using System;
using System.IO;
class App
{
public static void Main()
{
string searchPath = @"c:\";
string searchPattern = "list.*";
DirectoryInfo di = new DirectoryInfo(searchPath);
FileInfo[] files = di.GetFiles(searchPattern, SearchOption.AllDirectories);
foreach (FileInfo file in files)
Console.WriteLine(file.FullName);
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
}
如果您没有访问服务器的权限,并且希望以匿名客户端的形式搜索服务器,那么您应该在internet上搜索
google hacking
确实不知道您在问什么。这有点像在硬盘上搜索一个目录,而不知道文件的特定扩展名,只有名字。所以你要搜索互联网,寻找一个特定的实体,比如http://foo.com/bar/baz.abc.xyz
相当于ftp://quux.com/baz.abc.txt
(提出一个困难的案例)?为什么这个问题被标记为C#和httpwebrequest?这里99%的工作似乎是如何查询Google/Baidu/等等,因为我想做的,本质上是用csharp应用程序搜索网站目录,以确定某个文件的存在。有点像在url上而不是本地文件系统上使用System.IO.DirectoryInfo()。您的应用程序是在服务器机器本身上运行,还是从客户端机器上运行?如果是前者,那么您可以这样做-枚举应用程序目录中的所有文件。如果是后者,很抱歉,(大多数)网站不是这样工作的。DirectoryInfo的“GetFiles”方法不支持URI格式。正如我所说,它不能远程工作。你需要一个爬虫(网络蜘蛛)。编写爬虫程序的难点在于查找文件,因为大多数服务器不允许目录浏览。在现实世界中,爬虫会跟踪页面中的链接并查找其他页面。因此,对于非链接页面,您可以猜测文件名。