Я пишу метод, который должен загрузить видео .flv с YouTube и сохранить его на жесткий диск. Я прочитал все вокруг, исходный код доступен, форумы, но я не могу заставить свой код работать. Я думаю, что 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", он все равно не работает!
Дайте мне знать, что я делаю не так?
Спасибо