Исправление класса загрузчика YouTube - PullRequest
0 голосов
/ 31 марта 2012

Некоторое время назад я открывал тему (ссылка внизу).И я счастлив сказать, что это было исправлено, то есть частично.Он по-прежнему использует неправильные ссылки на YouTube.И так как YouTube продолжает обновлять все примеры, я мог найти, где не работает.Я думаю, что это связано с «регулярными» выражениями.Может ли кто-нибудь просветить меня по этому вопросу?

А теперь для ошибки: необработанное исключение типа «System.Net.WebException» произошло в System.dll Дополнительная информация: удаленный сервер возвратил ошибку: (403) Запрещено.В строке 22: wc.DownloadFile (kvp.Value, @ "C: \ Users \ waralot \ Downloads \ youtube \" + kvp.Key);

Консоль во время компиляции находится здесь: pastebin.com/BrgKkAmk

Оригинальный проект на HackForums: http://www.hackforums.net/showthread.php?tid=2052105

Моя текущая версия: http://pastebin.com/2iH2vQ2L

Опять мой первый поток можно найти здесь: Преобразование формы загрузчика YoutubeVB в C #

Ответы [ 2 ]

1 голос
/ 03 апреля 2012

Взгляните на мою YoutubeExtractor библиотеку.Предоставляет методы для загрузки видео с YouTube.

0 голосов
/ 01 апреля 2012

Похоже, что Youtube блокирует вам доступ к ссылке, возможно, из-за того, что вы не установили user-agent для своего WebClient.

Попробуйте добавить это, прежде чем пытаться загрузить видео.

wc.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");

Код для очистки URL также необходимо изменить следующим образом.

//clean up residual tags and encoded strings
link = slink.Replace("url=", "");
link = link.Replace("\\u0026", "&");
link = HttpUtility.UrlDecode(link);
...