1

URL にあるすべてのファイルを取得しようとしています。ブラウザでその URL にアクセスすると、すべてのファイルがリストされているので、コンソール プログラムでこれらのファイルを印刷することもできると思いました。

どうやら、以下の私のコードは機能せず、スローされSystem.ArgumentException "URI formats are not supported."ます。または、C# を使用してコンソール アプリケーションでこれを実現することは本当に可能ですか?

class Program
{
    public static void Main(string[] args)
    {
        foreach (string filename in Directory.GetFiles(@"http://mywebsite.files/", "*.*"))
        {
            Console.WriteLine(filename);
        }

        Console.Write("Press any key to continue . . . ");
        Console.ReadKey(true);
    }
}
4

4 に答える 4

2

このクラスを使用して Web ディレクトリのファイルを一覧表示することはできません。Directoryまた、ディレクトリ/ファイルの一覧表示を許可するようにサーバーを構成する必要があります。

あなたがすべきことは、ファイルリストを返す Web リクエストです。

詳細については、こちらをご覧ください

于 2013-06-11T10:13:52.200 に答える
0

FTP アクセスがあれば、FtpWebRequestクラスを使用できます。http://msdn.microsoft.com/en-us/library/ms229716.aspxの例を次に示します。

public class WebRequestGetExample
{
    public static void Main ()
    {
        // Get the object used to communicate with the server.
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/");
        request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;

        // This example assumes the FTP site uses anonymous logon.
        request.Credentials = new NetworkCredential ("anonymous","janeDoe@contoso.com");

        FtpWebResponse response = (FtpWebResponse)request.GetResponse();

        Stream responseStream = response.GetResponseStream();
        StreamReader reader = new StreamReader(responseStream);
        Console.WriteLine(reader.ReadToEnd());

        Console.WriteLine("Directory List Complete, status {0}", response.StatusDescription);

        reader.Close();
        response.Close();
    }
}
于 2013-06-11T10:47:33.913 に答える
0

ftp-protocol の使い方を読んでおくべきかもしれません。問題を解決しようとしている方法は、おそらくうまくいかないでしょう。

于 2013-06-11T10:13:31.000 に答える