【问题标题】:Help Needed for parsing FTP files list in c#在 c# 中解析 FTP 文件列表需要帮助
【发布时间】:2010-12-31 01:57:39
【问题描述】:

我正在使用此代码获取目录中所有文件的列表

这里 webRequestUrl = something.com/directory/

FtpWebRequest fwrr = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + webRequestUrl));

fwrr.Credentials = new NetworkCredential(username, password);
fwrr.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
StreamReader srr = new StreamReader(fwrr.GetResponse().GetResponseStream());
string str = srr.ReadLine();
ArrayList strList = new ArrayList();
while (str != null)
{
  strList.Add(str);
  str = srr.ReadLine();
}

但我没有得到文件列表,而是得到一些 HTML 文档类型行。

这个 ftp 服务器是基于 windows 的,但它在 unix 服务器上运行良好。

请帮忙。

谢谢。

【问题讨论】:

  • 使用 ListDirectoryDe​​tails 方法,您将获得需要解析的 UNIX 样式文件列表。当你说“一些 HTML 文档类型行”时,你能说明你得到了什么
  • 您是否正在为 ftp 构建自己的库?为什么不直接使用现有的 ftp 库?
  • 这是我在数组列表中得到的 ttp://www.w3.org/TR/html4/loose.dtd" rel="nofollow" target="_blank">w3.org/TR/html4/loose.dtd"> FTP 目录:<a href="/default/index/tourl?u=ZnRwOi8vbWFyc2hhbEBzb21ldGhpbmcuY29tL2RpcmVjdG9yeS8%3D" rel="nofollow" target="_blank">marshal@something.com/directory</a> 等等...虽然这里有内部文件的文件名目录。

标签: c# ftpwebrequest ftp-client


【解决方案1】:

当内部机器上的 FTP 和我执行 ftp://192.168.0.155 时,它对我有用 - 如果我在 IE 中尝试,我会得到与你相同的 HTML 结果。 我怀疑它是否因为网址而发生。您可以尝试用 IP 地址替换 url(只是一个疯狂的猜测)。即使您正在获取 HTML,您也可以去除不必要的部分并解析文件。

我什至尝试使用ftp://sub.a.com/somefolder,它对我有用。似乎浏览器将 HTML 包裹在 FTP 响应周围,因为当我在 IE 和 Chrome 中打开 FTP 站点时,我得到了不同的 HTML。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多