Каталог Ftp list за http прокси - PullRequest
0 голосов
/ 05 ноября 2010

Я пытаюсь перечислить файлы с адреса ftp, используя класс FtpWebRequest

    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 голосов
/ 05 ноября 2010

Вам, вероятно, стоит рассмотреть возможность использования HTML Agility Pack . Но если вы укажете точно формат, возможно, будет создано что-то более простое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...