首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ftpWebReponse (ListDirectory) FTP批准的登录过程,但不返回文件夹数据

ftpWebReponse (ListDirectory) FTP批准的登录过程,但不返回文件夹数据
EN

Stack Overflow用户
提问于 2015-04-22 02:45:59
回答 1查看 344关注 0票数 0

我一直在尝试使用Visual连接到远程C#服务器,并列出服务器上的文件夹。最后,我试图弄清楚如何通过单击按钮自动将文件上传到此服务器。我想我的第一步应该是看看文件夹在远程FTP服务器上是如何构造的。但是,当我尝试查看debug中传递的结果时,它看起来是空的,尽管我没有从进程中收到任何错误,并且debug中的参数使我看起来像是成功登录。我还在响应数据中接收到文件传输完成消息226。以下是我尝试过的最新代码,尽管我已经尝试过FtpWebRequest函数中的各种方法。如果我关闭了UsePassive,它将永远在那里,并且我永远不会从服务器得到响应。有没有人对可能导致这种情况的设置或需要设置的一些参数有什么想法?

代码语言:javascript
复制
private void button4_Click(object sender, EventArgs e)
    {
        FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create("ftp://sampleftpplace.com/");
        ftpRequest.UseBinary = true;
        ftpRequest.Credentials = new NetworkCredential("username", "password");
        ftpRequest.EnableSsl = true;
        ftpRequest.Method = WebRequestMethods.Ftp.ListDirectory;
        ftpRequest.Proxy = null;
        ftpRequest.Timeout = -1;
        ftpRequest.KeepAlive = false;
        //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();
    }

当执行"string line = streamReader.Readline();“时,变量"line”为null。我真正想要的是看看哪些文件夹是可用的,这样我就可以看到FTP服务器的原始程序员是如何构造他们的文件夹的,以及他们使用了什么命名约定。如果那个程序员不再有空,这是可能的吗?

EN

回答 1

Stack Overflow用户

发布于 2015-04-22 03:37:49

我刚刚有了一个疯狂的想法,结果证明它是有效的!基本上,我将前几行改为如下所示:

代码语言:javascript
复制
Uri uri = new Uri("ftp://sampleftpplace.com//");
FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create(uri);

首先,我使用了命令Uri。不知道这是否重要,但真正重要的是URL地址中的第二个"/“。我认为在我添加这个之前,服务器并没有将其视为根目录。一旦我把它放进去,我现在就能看到文件夹了。谢谢!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29780660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档