@LioneNET

Почему WebClient на c# скачивает с прерываниями и медленно?

Всем привет!
У меня такая проблема. При использовании WebClient, некоторые файлы, скачиваются очень медленно, по 33 Кб в 3 секунды. При этом если скачивать из браузера, то все работает отлично.
Вот код метода:

private void DownloadMaster(string url, string outFileName)
        {
            WebClient webClient = new WebClient();
            webClient.Proxy = null;
            WebRequest.DefaultWebProxy = null;
            webClient.Headers.Add("user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36");
            webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
            webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
            webClient.DownloadFileAsync(new Uri(url), outFileName);
        }


Что только не перепробовал, никак не хочет скачивать быстрее.
Если что, вот ссылка которую пытаюсь скачать (Выдранно из ютуба) А другие файлы, качает отлично, проблема возникает с некоторыми.

Да и еще, есть ли альтернативные решения, для скачивания файлов, кроме WebClient. Может есть сторонние библиотеки?
  • Вопрос задан
  • 397 просмотров
Пригласить эксперта
Ответы на вопрос 1
tomnolane
@tomnolane
профессиональный разработчик
webClient.Proxy=GlobalProxySelection.GetEmptyWebProxy();


А похорошему, я бы попробывал через Stream скачивать.
На примере данного сайта

UPDATE:

Вот ссылка на рекомендуемую либу для скачивания видео с youtube. Если посмотреть исходники - там как раз используют System.IO.Stream
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы