c# 应用程序 FTP 错误:“227 进入被动模式”

发布于 2024-12-09 06:05:31 字数 276 浏览 0 评论 0原文

我无法解决我在客户网站上遇到的这个问题。客户端有两个站点,并且都运行我的应用程序的相同版本。在一个站点上没有问题,但在另一个站点上尝试从 FTP 站点下载文件时,我开始不断收到以下错误:

“227 进入被动模式(...)”

我一直在 SO 和 Google 上阅读,但无法找出问题所在。我想放弃这个客户,因为他们只是花钱。我正在使用 .NET 3.5 中包含的 FTP 功能。

任何关于可能发生的事情的线索吗?网络安全变革到底如何?

I can't figure this problem out I'm having at a client's site. The client has two sites and both run the same version of my app. At one site there are no problems but at the other I started to consistently get the following error when trying to download files from a FTP site:

"227 Entering Passive Mode (...)"

I've been reading on SO and Google and cannot figure out the problem. I want to drop this client because they are just costing money. I'm using the FTP functionality included in .NET 3.5.

Any clue as to what could be going on?? Network security changes on their end?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

七度光 2024-12-16 06:05:31

使用客户端 ftp 进行测试,但仅在活动模式下进行。

停用此功能:
在工具 - Internet 选项 - 高级 -
“使用被动 FTP(用于防火墙和 DSL 调制解调器)”

Test with a client ftp but only in ACTIVE MODE.

Deactivate this:
in Tools - internet options - advanced -
"Use passive FTP (for firewall and DSL modem )"

守望孤独 2024-12-16 06:05:31

为了避免该错误,只需使用 reqFTP.UsePassive = false;

reqFTP.UsePassive = false;

检查下面

                FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create("ftp://127.0.0.1/1542");
                ftpRequest.Credentials = new NetworkCredential("6584", "123456");
                ftpRequest.Method = WebRequestMethods.Ftp.ListDirectory;
                ftpRequest.UsePassive = false;
                FtpWebResponse response = (FtpWebResponse)ftpRequest.GetResponse();
                StreamReader streamReader = new StreamReader(response.GetResponseStream());

                List<string> directories = new List<string>();

                string line = streamReader.ReadLine();
                while (!string.IsNullOrEmpty(line))
                {
                    directories.Add(line);
                    line = streamReader.ReadLine();
                }

                streamReader.Close();
                return true;

To avoid that error, just use reqFTP.UsePassive = false;

reqFTP.UsePassive = false;

Check below

                FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create("ftp://127.0.0.1/1542");
                ftpRequest.Credentials = new NetworkCredential("6584", "123456");
                ftpRequest.Method = WebRequestMethods.Ftp.ListDirectory;
                ftpRequest.UsePassive = false;
                FtpWebResponse response = (FtpWebResponse)ftpRequest.GetResponse();
                StreamReader streamReader = new StreamReader(response.GetResponseStream());

                List<string> directories = new List<string>();

                string line = streamReader.ReadLine();
                while (!string.IsNullOrEmpty(line))
                {
                    directories.Add(line);
                    line = streamReader.ReadLine();
                }

                streamReader.Close();
                return true;
守护在此方 2024-12-16 06:05:31

进入被动模式端口时出现防火墙问题?您可以使用 Filezilla 连接到 FTP 服务器吗?

A firewall issue when dropping into a passive-mode port? Can you connect to the FTP server with Filezilla?

天涯沦落人 2024-12-16 06:05:31

您可能会超时,您检查防火墙了吗?它可能会阻止您的连接。

Your probably getting a timeout, did you check the firewall? it could be blocking your connection.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文