我正在编写一种方法,应该从youtube下载.flv视频并将其保存到硬盘。我已经阅读了所有内容,可用的源代码,论坛,但我无法让我的代码工作。我认为youtube已删除此功能,因此无法再下载视频。但接下来的问题是:一些程序如何免费和商业化呢?
这是我的代码:
WebClient^ client = gcnew WebClient();
String^ page = client->DownloadString(URL);
String^ videoId = innerValue(URL, "v=", "&");
String^ details = client->DownloadString("http://www.youtube.com/get_video_info?&video_id=" + videoId);
String^ t1 = innerValue(page, "&t=", "&");
String^ t2 = HttpUtility::UrlDecode(innerValue(details, "&token=", "&"));
String^ videoUrl = String::Format("http://www.youtube.com/get_video?video_id={0}&t={1}&fmt={2}", videoId, t2, fmt);
client->DownloadFile(videoUrl, gcnew String(file));
InnerValue方法只获取两个参数之间的文本。无论我使用“t1”还是“t2”,它仍然无效!
让我知道我做错了什么?
由于
答案 0 :(得分:0)
尝试使用您的浏览器下载您正在形成的网址。如果有效,您可能必须在发送请求时欺骗用户代理设置。