.net http代理后面的Ftp列表目录

.net http代理后面的Ftp列表目录,.net,ftp,.net,Ftp,我正在尝试使用FtpWebRequest类列出ftp地址中的文件 private IEnumerable<ResourceInfo> EnumerateResources(Stream stream) { StreamReader reader = new StreamReader(stream); string line = null; while ((line = reader.ReadLine()) != null

我正在尝试使用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();
            }
        }
    }
私有IEnumerable枚举资源(流)
{
StreamReader=新的StreamReader(流);
字符串行=null;
而((line=reader.ReadLine())!=null)
{
返回新的ResourceInfo(此,行);
}
}
公共覆盖IReadOnlyList GetResources()
{
FtpWebRequest请求=(FtpWebRequest)WebRequest.Create(Url);
req.Method=WebRequestMethods.Ftp.ListDirectory;
请求凭证=凭证;
使用(var resp=(FtpWebResponse)req.GetResponse())
{
使用(var stream=resp.GetResponseStream())
{
返回EnumerateResources(stream.ToReadOnly();
}
}
}
这在大多数情况下都可以。 但是当我在HTTP代理后面时,响应流的内容包含一个HTML页面
它列出了a标记中的文件。有没有什么优雅的方法来处理这个问题,或者我应该试着手工解析HTML。

您可能应该考虑使用。但是如果您提供的格式准确无误,也许可以制作一些更简单的东西。

我已经开发了一种从代理生成的HTML中提取数据的方法。我只是想知道有没有更优雅的方法