修复youtube下载程序类

时间:2012-03-31 19:55:02

标签: c# .net download youtube webclient-download

前一段时间我开了一个帖子(链接在底部)。 而且我很高兴地说已经修复了,部分原因。 它仍然使用错误的YouTube链接。 由于youtube不断更新所有示例,我可以找到破碎的地方。 我认为这与“常规”表达有关。 有人可以在这个问题上启发我吗?

现在对于手头的错误: System.dll中出现未处理的“System.Net.WebException”类型异常 附加信息:远程服务器返回错误:(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

我的第一个帖子可以在这里找到:Converting a Youtube downloader form VB to C#

2 个答案:

答案 0 :(得分:1)

看看我的YoutubeExtractor图书馆。它提供了从YouTube下载视频的方法。

答案 1 :(得分:0)

似乎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 cleanup的代码也需要像这样改变。

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