
Я хочу скачать это видео -http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4
Вот ссылка на страницу с похожими видео. Я пытался скачать видео с помощьюInternet Download Manager, но это не удалось, как показано на этом снимке экрана
Можно ли сохранить это видео для просмотра офлайн? Помогите, пожалуйста. Спасибо.
решение1
Обратите внимание, что рассматриваемый веб-сайт ( http://animax.mn
), по всей видимости, не работает по состоянию на июнь 2021 г.)
Проблема, с которой вы, вероятно, сталкиваетесь, заключается в том, что сайт использует специальные файлы cookie, которые Internet Download Manager, вероятно, не отправляет. В частности, они включают маркер CSRF для защиты отподделка межсайтовых запросов атаки иPHP-фреймворк LaravelИдентификатор сеанса. Их необходимо передать вместе с запросом файла, иначе запрос будет отклонен.
Чтобы скачать видео, вы можете:
Посмотрите, есть ли возможность включить эти или иным образом добавить файлы cookie в Internet Download Manager.
Используйте другой инструмент, который может загружать файлы, а также обрабатывать файлы cookie (например,cURL).
Если Internet Download Manager не поддерживает никаких дополнительных опций для загрузки этого видео, вы можете попробовать основные инструкции для cURL, приведенные ниже.
Получение cURL
cURL можно загрузить с егоофициальная страница загрузки. Сборки Windows находятся в самом низу. Синие номера версий ссылаются на соответствующие файлы для загрузки. Синие личные имена обычно ведут в другое место.
В качестве предложения вы можете использовать одну из текущих (на момент написания статьи) сборок v7.59.0 от Виктора Сакатса (версию Win32 или Win64, в зависимости от ситуации).
Обновлять:
Сборки Виктора Саката, по-видимому, были вытесненыофициальные сборки cURL для Windows(которые по-прежнему рекомендуются и доступны в 32- и 64-разрядных версиях).
После загрузки просто распакуйте файл и поместите содержимое в постоянную папку по вашему выбору. Чтобы не использовать полный путь curl.exe
каждый раз при использовании cURL, вам, скорее всего, захочется зарегистрироваться curl.exe
в Windows Path
( curl.exe
находится в bin
папке для сборок Szakats для официальных сборок Windows).
Получение печенья
Вы, вероятно, можете использовать свой браузер, чтобы получить необходимый CSRF-токен и идентификатор сеанса Laravel для использования с cURL (или любой другой программой, которую вы выберете) через консоль разработчика, включенную в современные браузеры в стиле Chromium (Firefox, Chrome, Opera и т. д.). В качестве дополнительного преимущества, следуя шагам ниже, вы также можете получить свою базовую команду cURL...
Шаги «Копировать как cURL»:
Войдите на сайт как обычно.
Перейти на страницу видео (например, один из перечисленных в этой ссылке из вашего вопроса).
Нажмите F12(или Ctrl+ Shift+ Iв Opera), чтобы открыть консоль разработчика, и выберитеСетьвариант справа. Для удобства использования я бы также предложил вам нажать на маленькую кнопкуПоказать в отдельных окнахзначок (справа) для отделения консоли от главного окна браузера.
бывший. Сетевая опция и отдельная консоль
Перезагрузите страницу видео, но не закрывайте консоль. Консоль будет захватывать сетевой трафик, связанный со страницей, включая HTTPПОЛУЧАТЬзапрос напр.http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4 (что будет выглядеть как
GET /?media=rencoded/op/one_piece503.mp4
).Будет большое количество
GET
запросов, поэтому вы, вероятно, захотите отфильтровать их с помощьюСМИподопция. Вы можете просмотреть файлы cookie, выбравПеченьеGET
также вариант запроса .
бывший. Фильтрация медиафайлов и предварительный просмотр файлов cookie
- Щелкните правой кнопкой мыши соответствующий
GET
запрос и выберитеКопировать как cURLопция меню (вероятноКопировать как cURL (cmd)в Chrome). Вставьте полученную команду в Блокнот или аналогичный (она будетнет(быть отображено заранее).
бывший. Копировать как cURL - Firefox
С предоставленными ссылками на видео у меня не возникло никаких проблем с GET
немедленным появлением запросов. Однако, еслиСМИопция фильтра пуста, вам следует использовать консольПрозрачный(Корзина) на самом левом краю, затем нажмите кнопку «воспроизведение» медиаплеера в главном окне (где обычно отображается видео). Это должно привести к GET
появлению соответствующих запросов на интересующие вас медиафайлы.
Проверка запроса cURL
Скопированный вами текст должен выглядеть примерно так:
завитокhttp://animax.mn:12000/?media=rencoded/op/one_piece001.mp4-H "Хост: animax.mn:12000" -H "Пользовательский агент: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0" -H "Принять: video/webm,video/ogg,video/;q=0.9,приложение/ogg;q=0.7,аудио/;q=0,6,/;q=0.5" -H "Принять-Язык: en-US,en;q=0.5" -H "Диапазон: байты=0-" -H "Файл cookie: XSRF-TOKEN=eyJpdiI6IkE0WlRudGtmdUlhQWRUTUFndkFPelE9PSIsInZhbHVlIjoiXC95dmFPeGdkWTN6QmZTamNXTUF0MFJOSitHWXdxOE1kRHRQeGVHWURmbVRuWG4zU0lFSW5IZEVpcFwvYzlQandDeUd4cGlkUzVtZk1PaEs2dzRoaDlRUT09IiwibWFjIjoiMDdjNjNmYTFhoWM5MzhlYmFjNTk5ZmRmNzNiN2IxYTc2ZWJlOWM3MjVlZDM5YWY4ZDQxYTdmMjNjNzNjOWI3MCJ9; laravel_session=eyJpdiI6IjN0VTlEQStvdyt0NXdMeDdTaUhJOUE9PSIsInZhbHVlIjoibXhMQ1dLMFl3M0FUSTlIKzVxcjRqTnpncFFJRGhrZktCaThKeHZxRXRmU1M5VXFWSjR0bjJIKzRHWE1VWFpxNUp3QTNZSW1ZXC9vaW1DaEdGU0k2dCtRPT0iLCJtYWMiOiI0YzYxOTI3ZjRiZTYzZGNkZmZkZmY1YjhjOWMzZGJmM2I1N2EyMjE4ODU1ODkwMGRmYjFhOThjOWZlNmRiZDhkIn0"%"3D; wh-widget-cookie=1" -H "DNT: 1" -H "Соединение: keep-alive"
Если вам нужен только токен CSRF и идентификатор сеанса Laravel, вы можете удалить большую часть скопированной команды, оставив только, например:
"XSRF-TOKEN=eyJpdiI6IkE0WlRudGtmdUlhQWRUTUFndkFPelE9PSIsInZhbHVlIjoiXC95dmFPeGdkWTN6QmZTamNXTUF0MFJOSitHWXdxOE1kRHRQeGVHWURmbVRuWG4zU0lFSW5IZEVpcFwvYzlQandDeUd4cGlkUzVtZk1PaEs2dzRoaDlRUT09IiwibWFjIjoiMDdjNjNmYTFhoWM5MzhlYmFjNTk5ZmRmNzNiN2IxYTc2ZWJlOWM3MjVlZDM5YWY4ZDQxYTdmMjNjNzNjOWI3MCJ9; laravel_session=eyJpdiI6IjN0VTlEQStvdyt0NXdMeDdTaUhJOUE9PSIsInZhbHVlIjoibXhMQ1dLMFl3M0FUSTlIKzVxcjRqTnpncFFJRGhrZktCaThKeHZxRXRmU1M5VXFWSjR0bjJIKzRHWE1VWFpxNUp3QTNZSW1ZXC9vaW1DaEdGU0k2dCtRPT0iLCJtYWMiOiI0YzYxOTI3ZjRiZTYzZGNkZmZkZmY1YjhjOWMzZGJmM2I1N2EyMjE4ODU1ODkwMGRmYjFhOThjOWZlNmRiZDhkIn0"%"3D"
Обратите внимание, что вы должны иметь возможность безопасно удалить ; wh-widget-cookie=1"
часть в конце файлов cookie, как показано выше (последний файл cookie, похоже, не нужен для подключений через cURL). Однако будьте внимательны и сохраняйте двойные кавычки вокруг файлов cookie, если только вы не решите, что они на самом деле не нужны.
Загрузка с помощью cURL
В исходном виде команда, которую вы скопировали, содержит (почти) все данные, необходимые для выполнения запроса, например:http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4. Вам просто нужно добавить -O
опцию вывода (заглавная буква oh) сразу после curl
и правильный URL (при необходимости), например:
curl -O "http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4" -H "Хост: animax.mn:12000" [...] -H "Соединение: keep-alive"
(Для ясности: многоточия [...]
— это всего лишь мое сокращение — вы бы включили полный оставшийся текст скопированной команды, показанной ранее).
Затем (надеюсь) вы сможете запустить эту команду cURL из командной строки, чтобы загрузить видео.
Сокращение команды
В этом случае команда cURL по умолчанию содержит много посторонних частей. Если вы чувствуете необходимость, команду cURL можно сократить до простого, например:
завиток -Ohttp://animax.mn:12000/?media=rencoded/op/one_piece503.mp4-r 0- --cookie "XSRF-TOKEN=eyJpdiI6IkE0WlRudGtmdUlhQWRUTUFndkFPelE9PSIsInZhbHVlIjoiXC95dmFPeGdkWTN6QmZTamNXTUF0MFJOSitHWXdxOE1kRHRQeGVHWURmbVRuWG4zU0lFSW5IZEVpcFwvYzlQandDeUd4cGlkUzVtZk1PaEs2dzRoaDlRUT09IiwibWFjIjoiMDdjNjNmYTFhoWM5MzhlYmFjNTk5ZmRmNzNiN2IxYTc2ZWJlOWM3MjVlZDM5YWY4ZDQxYTdmMjNjNzNjOWI3MCJ9; laravel_session=eyJpdiI6IjN0VTlEQStvdyt0NXdMeDdTaUhJOUE9PSIsInZhbHVlIjoibXhMQ1dLMFl3M0FUSTlIKzVxcjRqTnpncFFJRGhrZktCaThKeHZxRXRmU1M5VXFWSjR0bjJIKzRHWE1VWFpxNUp3QTNZSW1ZXC9vaW1DaEdGU0k2dCtRPT0iLCJtYWMiOiI0YzYxOTI3ZjRiZTYzZGNkZmZkZmY1YjhjOWMzZGJmM2I1N2EyMjE4ODU1ODkwMGRmYjFhOThjOWZlNmRiZDhkIn0"%"3D" -H "Подключение: поддерживать активность"
Вкратце, -r 0-
заменяет -H "Range: bytes=0-
(в данном случае Range:
заголовок — единственный другой компонент исходного URL, необходимый cURL помимо указанных cookie-файлов).
Примечания
Я не обнаружил ошибок, связанных с повторным использованием одних и тех же файлов cookie для нескольких видео в течение одного сеанса. Однако имейте в виду, что выход/вход в систему изменит файлы cookie, и вам придется выполнять шаги, которые я описал, чтобы повторно собрать их каждый раз, когда вы это делаете.
Возможно, вам следует временно отключить антивирус и т. п. для загрузок.
Вероятно, нет необходимости сохранятьhttps://animax.mnокно браузера открыто, но я бы хотел просто выйти из системы, когда закончу (или, возможно, снова войти). В противном случае кажется неясным, каковы критерии обработки сеанса для сайта.
Вы можете взять (почти?) те же самые файлы cookie из первоначального
POST
запроса на вход в систему, но, похоже, с этим могли возникнуть некоторые небольшие неподтвержденные проблемы (вот почему я рекомендую брать их непосредственно изGET
запроса).Вероятно, вам следует быть осторожным при копировании куки. Они могут быть немного громоздкими при обычных операциях копирования/вставки.
Оптимизм против пессимизма
«Оптимист утверждает, что мы живем в лучшем из возможных миров; а пессимист опасается, что это правда».
К сожалению, при проверке этого ответа мне не удалосьполностьюзагрузить любое видео (хотя частичная загрузка работала до того момента, пока не была прервана). Я подозреваю, что плохое сетевое соединение и (возможно) плохой дизайн сайта привели к прерванным загрузкам (по случайности, я столкнулся с несколькими ошибками PHP, не связанными с cURL, просто просматривая сайт).
Поэтому ваш опыт работы с cURL и выбранный вами сайт могут различаться...