获取小众ftp服务器指定目录内容列表

今天获取小众ftp服务器指定目录内容列表时费劲急了。
  1. ///parama url="ftp://x.x.x.x/dir_name"
  2. public string GetFTPDir(string url)
  3. {
  4.         FtpWebRequest reqFtp;
  5.         try
  6.         {
  7.             reqFtp = (FtpWebRequest)FtpWebRequest.Create(new Uri(url));
  8.             reqFtp.KeepAlive = false;
  9.             //reqFtp.UseBinary = true;   //指定ftp数据传输类型为 二进制  
  10.             //reqFtp.Credentials = new NetworkCredential(USERID, PassWord);     //设置于ftp通讯的凭据  
  11.             reqFtp.Method = WebRequestMethods.Ftp.ListDirectoryDetails;      //指定操作方式
  12.             WebResponse response;
  13.             response = reqFtp.GetResponse();  //获取一个FTP响应  
  14.             StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);   //读取响应流  
  15.             string contentHTML = sr.ReadToEnd();    //读取网页的源代码  
  16.             sr.Close();
  17.             return contentHTML;
  18.         }
  19.         catch (Exception ex)
  20.         {
  21.             return ex.Message;
  22.         }
  23.  }

当访问iis的ftp服务器时没有错误,访问一个小型ftp时报错227,查阅资料后修改第9行为reqFtp.UsePassive = false;

执行后有了返回,但是为根目录的列表。

.Net的FtpWebRequest没有改变当前目录操作,而是只能创建时指定文件或目录。百般无奈时,想到url应该是一个文件,目录在自己的下面显示一个“.”表示自己。所以修改url参数为url="ftp://x.x.x.x/dir_name/."。再次执行代码果然通过,不论iis ftp还是小型ftp服务器均通过。

 

转载于:https://www.cnblogs.com/bjguanmu/p/6070057.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值