HTTP代理后面的Ftp列表目录

时间:2010-11-05 14:25:44

标签: .net ftp

我正在尝试使用FtpWebRequest类

列出来自ftp地址的文件
    private IEnumerable<ResourceInfo> EnumerateResources(Stream stream)
    {
        StreamReader reader = new StreamReader(stream);
        string line = null;
        while ((line = reader.ReadLine()) != null)
        {
            yield return new ResourceInfo(this, line);
        }
    }

    public override IReadOnlyList<ResourceInfo> GetResources()
    {
        FtpWebRequest req = (FtpWebRequest)WebRequest.Create(Url);
        req.Method = WebRequestMethods.Ftp.ListDirectory;

        req.Credentials = Credentials;
        using (var resp = (FtpWebResponse)req.GetResponse())
        {
            using (var stream = resp.GetResponseStream())
            {
                return EnumerateResources(stream).ToReadOnly();
            }
        }
    }

大多数情况下都可以。 但是当我在HTTP代理后面时,响应流的内容包含一个HTML页面 列出 a 标记内的文件。是否有任何优雅的方式来对待这个或我应该尝试手动解析HTML。

1 个答案:

答案 0 :(得分:0)

您应该考虑使用HTML Agility Pack。但如果你提供的格式可能更简单,那么就可以制作出更简单的东西。