今天获取小众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服务器均通过。

获取小众ftp服务器指定目录内容列表的更多相关文章

  1. socket实现两台FTP服务器指定目录下的文件转移(不依赖第三方jar包)

    通过socket实现两台FTP服务器指定目录下的文件转移,其中包含了基础了ftp文件列表显示.上传和下载.这里仅供学习用,需掌握的点有socket.ftp命令.文件流读取转换等 完整代码如下: Ftp ...

  2. python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小

    本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏. 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小,类似Windows如下功能: 模块介绍: from ftplib import F ...

  3. python3获取指定目录内容的详细信息

    不同平台获取指定目录内容的详细信息命令各不相同: Linux中可以通过ls -al获取获取 windows中可以通过dir命令获取 下面是我写的一个通用获取目录内容详细信息的python3脚本: #! ...

  4. 9.JAVA之GUI编程列出指定目录内容

    代码如下: /*列出指定目录内容*/ import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import ...

  5. php实现远程网络文件下载到服务器指定目录(方法一)

    PHP实现远程网络文件下载到服务器指定目录(方法一) <?php function getFile($url, $save_dir = '', $filename = '', $type = 0 ...

  6. 易优CMS:channelartlist 获取当前频道的下级栏目的内容列表

    channelartlist 获取当前频道的下级栏目的内容列表   [基础用法] 名称:channelartlist 功能:获取当前频道的下级栏目的内容列表标签 语法: {eyou:channelar ...

  7. Linux 下搭建ftp服务器 指定用户指定目录及其他操作

    搭建 Linux下 rpm -qa |grep vsftpd查看是否安装 没安装yum安装 /etc/vsftpd/目录下有vsftpd.conf配置文件 根据需求 进行配置  是否使用匿名用户以及文 ...

  8. centos FTP 用户指定目录禁用上级目录

    在默认配置下,本地用户登入FTP后可以使用cd命令切换到其他目录,这样会对系统带来安全隐患.可以通过以下三条配置文件来控制用户切换目录.chroot_list_enable=YES/NO(NO)设置是 ...

  9. 使用Python批量下载ftp服务器中的内容

    使用ftplib,轻松实现从ftp服务器上下载所需要的文件,包括目录结构等,支持了一下断点续传 from ftplib import FTP import sys import os import r ...

随机推荐

  1. BZOJ 2898 模拟

    普及组水题. 按位模拟第一个序列和第二个序列,细节比较多.. 仅为部分看后面两位的和,如果大于10就近位小于8就不进位等于9就看下一位. #include <cstdio> #define ...

  2. 【LeetCode OJ】Same Tree

    Problem Link: https://oj.leetcode.com/problems/same-tree/ The following recursive version is accepte ...

  3. OD20

    查壳   发现没有壳          那就载入OD 在命令中在API函数下下个断点 然后程序跑起来 ,   点CHECK  断下来了 在动态链接库断下来了      我们alt+F9   回到用户界 ...

  4. 微信小程序开发技巧及填坑记录

    以下是自己在开发过程中遇到的坑和小技巧,记录以下: 1.出现了 page[pages/XXX/XXX] not found.May be caused by :1. Forgot to add pag ...

  5. Linux Shell数组常用操作详解

    Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) declare -a array array=( ) 数组用小括号括起,数组元 ...

  6. c#中方法的重载

    转自:http://www.cnblogs.com/lovesong_blog/articles/1416617.html string和program都是Object的派生类,string类型是se ...

  7. VS常用快捷键

    智能提示:ctrl + J方法参数提示:ctrl + shift +空格智能标记(如:提示using.实现接口.抽象类等):ctrl + .执行测试:ctrl + R,T(当前上下文),ctrl + ...

  8. Qt MainWindow结构

    (图自:FinderCheng 的 Qt 学习之路(11): MainWindow)

  9. c语言数据结构之 堆排序

    算法:先生成随机数,赋值到数组,将数组第一个元素a[0]设置为哨兵,函数调用数组和随机数个数n,再设定n/2的根结点与孩子结点进行比较操作,若右孩子存在,则选出三个数里最小的数赋值给根节点,如果右孩子 ...

  10. js MATH

    MATH Math 对象用于执行数学任务. 无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法. Math 对象属性 var a=Math.E; //输出2.718281828459 ...