0

以下测试工作...

  public void test1()
  {
     string server="ftp://myserver.com/dev";
     string userName="myusername";
     string password="mypassword";

     FtpWebRequest req = (FtpWebRequest)WebRequest.Create( server );
     req.Credentials = new NetworkCredential( userName, password );
     req.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
     req.Timeout = 30000;
     req.UseBinary = false;
     req.EnableSsl = false;
     req.UsePassive = false;
     req.KeepAlive = true;

     using( FtpWebResponse resp = (FtpWebResponse)req.GetResponse() )
     {
        using (StreamReader sr = new StreamReader(resp.GetResponseStream()))
        {
           string fileRecord = sr.ReadLine();
           while (fileRecord != null)
           {
              Console.WriteLine( fileRecord );
              fileRecord = sr.ReadLine();
           }
        }
     }
  }

虽然以下测试失败...

  public void test2()
  {
     string server="ftp://myserver.com/dev";
     string userName="myusername";
     string password="mypassword";

     FtpWebRequest req = (FtpWebRequest)WebRequest.Create( server );
     req.Credentials = new NetworkCredential( userName, password );
     req.Method = WebRequestMethods.Ftp.GetDateTimestamp;
     req.Timeout = 30000;
     req.UseBinary = false;
     req.EnableSsl = false;
     req.UsePassive = false;
     req.KeepAlive = true;

     using( FtpWebResponse resp = (FtpWebResponse)req.GetResponse() )
     {
        using( StreamReader sr = new StreamReader( resp.GetResponseStream() ) )
        {
           Console.WriteLine( resp.LastModified );
        }
     }
  }

带有错误消息:

测试方法test2抛出异常:System.Net.WebException:远程服务器返回错误:(550)文件不可用(例如,找不到文件,无法访问)。

更新:我尝试使用另一个使用默认端口号的 ftp 站点(unix),所以 url 是“ ftp://myserver.com/dev ” - 并且 GetDateTimestamp() 仍然因相同的错误而死。

我已更新主题行和问题正文以正确反映我的查询。

4

2 回答 2

2

请添加更多信息。

到目前为止的猜测:您正在尝试

  • a) 在 FTP 服务器上执行 ls(有效)
  • b) 从 FTP 服务器获取时间戳(不起作用)

由于其他一切似乎都相同(地址等),我假设两者都查看相同的数据。我想当ls你连接时,它会起作用。但是你想到达那里的时间戳是什么?WebRequestMethods.Ftp.GetDateTimestamp的文档说

表示用于从 FTP 服务器上的文件中检索日期时间戳的 FTP MDTM 协议方法。

(我强调)

哪个文件?据我所知,您只指定一个文件夹(不确定是否有效)?你用“ ftp://myserver.com/dev/text.txt ”试过了吗?

于 2010-01-05T08:48:34.450 回答
0

看起来 2 个示例中的 URI 是相同的,您的测试用例与问题的描述不匹配。你可以说得更详细点吗?

(一般来说,最容易添加的是一个示例代码片段,其中一两行突出显示。)

于 2010-01-04T23:08:54.133 回答