Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在服务器上搜索特定文件?_C#_File_Search_Url_Httpwebrequest - Fatal编程技术网

C# 如何在服务器上搜索特定文件?

C# 如何在服务器上搜索特定文件?,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

我正在尝试在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 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格式。正如我所说,它不能远程工作。你需要一个爬虫(网络蜘蛛)。编写爬虫程序的难点在于查找文件,因为大多数服务器不允许目录浏览。在现实世界中,爬虫会跟踪页面中的链接并查找其他页面。因此,对于非链接页面,您可以猜测文件名。