zoukankan      html  css  js  c++  java
  • 获取小众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服务器均通过。

  • 相关阅读:
    宝塔nginx配置
    宝塔apache配置
    公司代码规范
    发送短信倒计时
    js layui 分页脚本
    常用mysql
    win10子系统ubuntu下安装nodejs,并使用n管理版本
    Cocos Creator 热更新文件MD5计算和需要注意的问题
    android app 闪屏
    关于模板测试几个问题
  • 原文地址:https://www.cnblogs.com/bjguanmu/p/6070057.html
Copyright © 2011-2022 走看看