コード例 #1
0
ファイル: Program.cs プロジェクト: Zergatul/ZergatulLib
        static void Main(string[] args)
        {
            tt();
            Console.ReadLine();
            return;
            /*var t = new TcpClient("mail.ru", 80);

            /*CheckMailRu();
            Console.ReadLine();
            return;*/

            //System.Net.ServicePointManager.ServerCertificateValidationCallback += (object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) => { return true; };

            var ftp = new FtpConnection();
            ftp.CertificateValidationCallback = delegate { return true; };
            ftp.Log = Console.Out;
            //ftp.Proxy = new Socks5("180.153.87.22", 10080);
            string[] workingFTP = new[] { "ftp.smsc.com", "www.pageville.com", "icarus.com", "milum.com", "patches.sgi.com", "psg.com", "qosient.com", "server1.supportwizard.com", "softwest.com", "sources.redhat.com", "sustworks.com", "tcl.activestate.com", "testcase.boulder.ibm.com" };
            ftp.Connect(workingFTP[12]/*"localhost"*/, 21);
            ftp.Login("anonymous", "*****@*****.**");
            ftp.System();
            ftp.SetTransferMode(FtpTransferMode.Stream);
            ftp.SetRepresentationType(FtpRepresentation.Type.ASCII, FtpRepresentation.Param.NonPrint);

            /*ftp.ProtectionBufferSize(0);
            ftp.DataChannelProtectionLevel(FtpDataChannelProtectionLevel.Private);*/

            //ftp.Features();

            //ftp.ChangeWorkingDirectory("");
            //ftp.DeleteFile("1.txt");
            //ftp.MakeDirectory("test2");
            //ftp.RemoveDirectory("test2");

            ftp.EnterPassiveModeEx();
            //ftp.StoreFile("1.txt", Encoding.ASCII.GetBytes("privet!!!"));
            //ftp.AppendFile("1.txt", Encoding.ASCII.GetBytes(Environment.NewLine + "trololo!!!" + Environment.NewLine));
            /*ftp.ChangeWorkingDirectory("pub");
            ftp.ChangeWorkingDirectory("usb");*/
            //ftp.EnterActiveModeEx(IPAddress.Parse("0:0:0:0:0:0:0:1"), 50050);
            string list = ftp.List("");
            var files = new DefaultFtpListParser().Parse(list);
            foreach (var file in files)
                if (file.IsDirectory)
                    Console.WriteLine("<DIR> {0}   ({1})", file.Name, file.ModifiedDate);
                else
                    Console.WriteLine("{0} -- {1} bytes   ({2})", file.Name, file.Length, file.ModifiedDate);

            //var ms = new MemoryStream();
            //ftp.RetrieveFile("readme.txt", 15, ms);
            //Console.WriteLine(ms.Length);
            /*ftp.ChangeWorkingDirectory("pub");
            ftp.RenameFile("upload1.txt", "qq.txt");*/
            //ftp.DeleteFile("upload1.txt");
            //ftp.AppendFile("upload1.txt", new MemoryStream(Encoding.ASCII.GetBytes(Environment.NewLine + "new line")));

            //ftp.MachineListingMany();

            /*for (int i = 0; i < 3; i++)
            {
                ftp.EnterPassiveModeEx();
                var stream = new MemoryStream();
                var cts = new CancellationTokenSource(500);
                var progress = new Progress<long>((p) => Console.WriteLine("Downloaded {0} bytes...", p));
                var task = ftp.RetrieveFileAsync("test.pdf", stream, cts.Token, progress);
                try
                {
                    task.Wait();
                }
                catch (AggregateException ex)
                {
                    Console.WriteLine(ex.InnerExceptions[0].Message);
                }
            }*/

            /*for (int i = 0; i < 3; i++)
            {
                ftp.EnterPassiveModeEx();
                var stream = new MemoryStream();
                for (int j = 1000; j < 2000; j++)
                {
                    var bytes = Encoding.ASCII.GetBytes(j.ToString() + Environment.NewLine);
                    stream.Write(bytes, 0, bytes.Length);
                }
                stream.Position = 0;
                var cts = new CancellationTokenSource(500);
                var progress = new Progress<long>((p) => Console.WriteLine("Uploaded {0} bytes...", p));
                var task = ftp.AppendFileAsync("numbers" + (i + 1) + ".txt", stream, cts.Token, progress);
                try
                {
                    task.Wait();
                }
                catch (AggregateException ex)
                {
                    Console.WriteLine(ex.InnerExceptions[0].Message);
                }
            }*/

            //ftp.EnterPassiveModeEx();
            //ftp.StoreFile("qwerty.txt", 3, new MemoryStream(Encoding.ASCII.GetBytes("789+++")));

            //ftp.List();
            //var bytes = ftp.RetrieveFile("12.png");
            ftp.Quit();

            /*var ftp = new FtpConnection();
            ftp.Log = Console.Out;
            ftp.Proxy = new HttpProxy("200.84.4.202", 8080);
            ftp.Connect("ftp.cad.ntu-kpi.kiev.ua", 21);
            ftp.Login("anonymous", "*****@*****.**");
            ftp.System();
            ftp.EnterPassiveMode();
            ftp.List();
            ftp.Logout();*/

            Console.ReadLine();
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: Zergatul/ZergatulLib
        // TODO: test with slow connection
        // TODO: check ipv6
        // http proxy parse response
        // implicit/exp ftps
        // exception texts to resources
        // https://www.chilkatsoft.com/ftp-2-dotnet.asp
        // http://xceed.com/FTP_NET_Features.html
        // https://www.rebex.net/ftp-ssl.net/
        // http://www.dart.com/ftp-control-features.aspx
        static void tmp()
        {
            var ftp = new FtpConnection();
            ftp.CertificateValidationCallback = delegate { return true; };
            ftp.Log = Console.Out;
            ftp.Connect("", 21);
            ftp.AuthTls();
            ftp.Login("", "");

            ftp.SetTransferMode(FtpTransferMode.Stream);
            ftp.SetRepresentationType(FtpRepresentation.Type.ASCII, FtpRepresentation.Param.NonPrint);

            /*ftp.ProtectionBufferSize(0);
            ftp.DataChannelProtectionLevel(FtpDataChannelProtectionLevel.Private);

            ftp.EnterPassiveModeEx();
            string list = ftp.List("");*/

            ftp.NameList();

            ftp.Quit();
        }