403 Запрещено при загрузке FLV прямо с YouTube - PullRequest
3 голосов
/ 30 января 2012

В настоящее время я пишу Java-приложение, которое будет загружать любое видео и конвертировать его в MP3 (я знаю, что существует множество подобных вещей, это всего лишь небольшой опыт обучения).

В настоящее время я нахожусь в точке, где он получает список форматов и URL-адресов, и он прекрасно загружает видео в формате MP4 (единственное, что он делает для этого, это непосредственно загружает URL-адрес, указанный в карте формата потока). .)

Однако youtube выдает мне ошибку 403, когда я пытаюсь загрузить видео FLV (что является довольно большой проблемой, так как многие видео доступны только в формате FLV). После некоторой быстрой проверки с использованием инструментов разработчика Chrome выясняется, что файл cookie, называемый ACTIVITY, отправляется на сервер при начале фактической загрузки видео, и его значение очень похоже на отметку времени, полученную из исходного вызова / watch, только 3 цифры более точные (так что это будут миллисекунды). Я не уверен, что это проблема; это может быть generate_204, запрос, который также привлек мое внимание в инструментах разработчика Chrome.

Пожалуйста, не указывайте мне на сложный нечитаемый Python / и т.д. Примеры. Мне сильно не нравится Python, и я не на том уровне, на котором я могу свободно читать чужой код (особенно если он большой и сложный;). Спасибо.

tl; dr - Что еще нужно, чтобы YouTube отправил мне мой FLV вместо того, чтобы выбросить 403 запрещенных? Это имеет отношение к куки? generate_204? и т.д ..

Ответы [ 2 ]

3 голосов
/ 15 сентября 2012

Вы должны добавить параметр «подпись» в ваш URL для воспроизведения видео.Подпись содержится в URL-адресе fmt в качестве параметра sig.Просто найдите атрибут sig в ​​источнике страницы и подпись в окончательном URL, например, с помощью Fiddler.

1 голос
/ 30 января 2012

Я считаю, что это противоречит Условиям предоставления услуг YouTube раздел 5B ... и я подозреваю, что это незаконно.

...