1

を FTP サーバーに送信しListDirectoryますが、FTP からのみ最初の 2000 項目を返します。SSL を追加しても、それ以上の結果は返されませんでした。

完全な結果を得るために使用する必要がある別のライブラリはありますか?

ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(OnValidateCertificate);
ServicePointManager.Expect100Continue = true;

FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://XXXX");
request.Method = WebRequestMethods.Ftp.ListDirectory;
request.Credentials = new NetworkCredential("User", "Password");
request.EnableSsl = true;

ServicePoint sp = request.ServicePoint;
Console.WriteLine("ServicePoint connections = {0}.", sp.ConnectionLimit);
sp.ConnectionLimit = 1;

using (var response = (FtpWebResponse)request.GetResponse())
{
    using (var stream = response.GetResponseStream())
    {
        using (var reader = new StreamReader(stream, true))
        {
            string line = reader.ReadLine();
            while (line != null)
            {
                ListFiles.Add(line);
                line = reader.ReadLine();
            }
        }
    }
}
4

2 に答える 2

0

これはほとんどクライアント側の問題ではありません。リストを制限しているのはおそらく FTP サーバーです。
スタンドアロン (GUI) クライアントで試しましたか?

サーバーへの SSH アクセスがあるとコメントしたように、FTP(S) の代わりに SFTP プロトコルを使用してみてください。SFTP サーバーには制限がない可能性があります。

于 2016-08-12T07:39:52.497 に答える
0

これは明らかにサーバーの構成の問題です。次の記事を参照してください:
http://www.inmotionhosting.com/support/website/general-server-setup/incrrease-file-display-limit
FTP ファイル サーバーで 10,000 を超えるファイルを表示していますか?

基本的に、これらの記事では、サーバー構成を変更してより多くのファイルを表示できるようにするか、ファイルをより狭いディレクトリに並べ替えて、いつでも表示するファイルをより選択できるようにすることをお勧めします.

于 2016-08-11T15:29:01.937 に答える