FTP远程服务器返回错误:(530)尚未登录(FTP The remote server retur

2019-10-21 11:26发布

我一直在试图解决这个问题,4个多小时,已经越来越让我疯了。

我创建了一个FTP,我想阅读使用C#代码一些数据。

当FTP没有用户名/密码访问,一切完美的作品。 但是当我把用户名和密码,我得到这个错误信息:远程服务器返回错误:(530)未登入。

我试了计算器和互联网就像所有的问题:使用.Normalize()并使用@username ,但我不断收到这个错误。

这是我的代码:

foreach (string fileNameInFTP in directories)
                {
                    //                string fileNameInFTP2 = Path.GetFileNameWithoutExtension(fileNameInFTP);
                    if ((!haveWeAlreadyParsedThisFile(fileNameInFTP)) && (fileNameInFTP.Contains("CustsExport")) && (!fileNameInFTP.EndsWith("Empty.xml")) && (!fileNameInFTP.Contains("DelCustsExport")))
                    {
                        string file = FTPAddress + "/" + fileNameInFTP;
                        Console.WriteLine(file);
                        List<Customer> customersList =
                        (
                            from e in XDocument.Load(file).Root.Elements("cust")
                            select new Customer
                            {
                                MemeberID = (int)e.Attribute("memberid"),
                                CustomerID = (int)e.Attribute("custid"),
                                FirstName = (string)e.Attribute("fname"),
                                LastName = (string)e.Attribute("lname"),
                                ShowsNumber = (int)e.Attribute("count_noshow"),
                                VisitNumber = (int)e.Attribute("count_resos"),
                                Cancellation = (int)e.Attribute("count_cancel"),
                                MobileNumber = (string)e.Element("phone").Attribute("phonenumber")
                                /*Projects =
                                (
                                    from p in e.Elements("projects").Elements("project")
                                    select new Project
                                    {
                                        ProjectCode = (string)p.Element("code"),
                                        ProjectBudget = (int)p.Element("budget")
                                    }).ToArray()*/
                            }).ToList();

:请注意

我能因为访问FTP directories变量是FTP的文件列表,当我调试的代码,我可以看到,它文件,但该行的例外accurs:

                    List<Customer> customersList =
                    (
                        from e in XDocument.Load(file).Root.Elements("cust")
                        select new Customer
                        {
                            MemeberID = (int)e.Attribute("memberid"),
                            CustomerID = (int)e.Attribute("custid"),
                            FirstName = (string)e.Attribute("fname"),
                            LastName = (string)e.Attribute("lname"),
                            ShowsNumber = (int)e.Attribute("count_noshow"),
                            VisitNumber = (int)e.Attribute("count_resos"),
                            Cancellation = (int)e.Attribute("count_cancel"),
                            MobileNumber = (string)e.Element("phone").Attribute("phonenumber")
                            /*Projects =
                            (
                                from p in e.Elements("projects").Elements("project")
                                select new Project
                                {
                                    ProjectCode = (string)p.Element("code"),
                                    ProjectBudget = (int)p.Element("budget")
                                }).ToArray()*/
                        }).ToList();

换句话说:我能够读取这些文件的名称,但他们的不是内容

Answer 1:

您可以在FTP URL提供用户名和密码。 例如,如果你想下载/path/filenameftp://ftp.foo.com ,你可以编码这样的用户名和密码:

ftp://username:password@ftp.foo.com/path/filename

您应该能够构建你想下载的文件这样的URL。 然后,该URL传递给XDocument.Load

但是请注意,该密码以明文形式发送(即没有加密等)。

参见第3.2 RFC 1738的更多信息。



文章来源: FTP The remote server returned an error: (530) Not logged in
标签: c# ftp