1

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

这里 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 服务器上运行良好。

请帮忙。

谢谢。

4

1 回答 1

0

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

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

于 2009-12-30T12:10:48.520 回答