-6

Я хочу скачать это видео - http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4

Вот ссылка на страницу с похожими видео. Я пытался загрузить видео с помощью Internet Download Manager, но это не удалось, как показано на этом скриншоте

Скриншот диспетчера загрузки Интернета не удалось

Можно ли сохранить это видео для просмотра в автономном режиме? Пожалуйста, помогите мне. Благодарю.

1 ответ1

1

Проблема, с которой вы, вероятно, сталкиваетесь, заключается в том, что сайт использует специальные файлы cookie, которые Internet Download Manager, вероятно, не отправляет. В частности, они включают в себя токен CSRF для защиты от атак подделки межсайтовых запросов и идентификатор сеанса Laravel PHP Framework . Они должны быть переданы с запросом на файл, или запрос будет отклонен.

Чтобы скачать видео, вы можете:

  • Посмотрите, есть ли возможность включить эти или иным образом добавить куки в Internet Download Manager.

  • Используйте другой инструмент, который может загружать файлы, а также обрабатывать файлы cookie (например, cURL).

Предполагая, что Internet Download Manager не поддерживает какие-либо дополнительные параметры, помогающие загрузить это видео, вы можете попробовать основные инструкции для cURL, которые я приведу ниже.


Получение CURL

cURL можно скачать с его официальной страницы загрузки. Сборки Windows находятся в самом низу. Синие номера версий указывают на соответствующие файлы для загрузки. Синие личные имена обычно приводят в другом месте.

В качестве предложения вы можете использовать одну из текущих (на момент написания статьи) сборок v7.59.0 Виктора Шакаца (либо версию Win32, либо Win64 , в зависимости от ситуации).

После загрузки просто разархивируйте файл и поместите содержимое в постоянную папку по вашему выбору. Чтобы не использовать полный путь к curl.exe каждый раз, когда вы используете cURL, вы, вероятно, захотите зарегистрировать curl.exe в своем Path Windows (curl.exe находится в папке bin для сборок Szakats).

Получение Cookies

Скорее всего, вы можете использовать свой браузер, чтобы получить необходимый токен CSRF и идентификатор сеанса Laravel для использования с cURL (или любой другой программой, которую вы выберете) через консоль разработчика, включенную в современные браузеры в стиле Chromium (Firefox, Chrome, Opera и т.д.). В качестве дополнительного преимущества, следуя приведенным ниже инструкциям, вы также можете получить основную команду cURL ...

"Копировать как cURL" Шаги:

  1. Войдите на сайт как обычно.

  2. Перейдите на страницу видео (например, одну из перечисленных в этой ссылке из вашего вопроса).

  3. Нажмите F12 (или Ctrl+Shift+I в Opera), чтобы открыть консоль разработчика и выбрать опцию « Сеть» справа. Для удобства использования я бы также предложил вам щелкнуть небольшой значок Показать в отдельных окнах (справа), чтобы отделить консоль от основного окна браузера.

    ех. Сетевая опция и отдельная консоль Консоль разработчика Сеть и опции стыковки

  4. Перезагрузите страницу видео, но не закрывайте консоль. Консоль будет захватывать сетевой трафик, связанный со страницей, включая HTTP- запрос GET, например, для http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4 (который будет отображаться как GET /?media=rencoded/op/one_piece503.mp4).

  5. Будет большое количество запросов GET , поэтому вы, вероятно, захотите отфильтровать их с помощью субопции Media . Вы можете просмотреть куки, выбрав опцию Cookies запроса GET .

    ех. Фильтрация медиа и предварительный просмотр cookie Медиа-фильтр консоли и параметры cookie

  6. Щелкните правой кнопкой мыши соответствующий GET и выберите пункт меню « Копировать как cURL» (вероятно, « Копировать как cURL (cmd)» в Chrome). Вставьте полученную команду в Блокнот или аналогичный (она не будет отображаться заранее).

    ех. Копировать как cURL - Firefox Консоль разработчика, копирующая запрос GET As Curl

С предоставленными ссылками на видео у меня не было никаких проблем с GET запросами, появляющимися немедленно. Однако, если параметр «Фильтр мультимедиа» не задан, следует использовать значок « Очистить» (Trashcan) на консоли слева, а затем нажать кнопку "Воспроизвести" на медиаплеере в главном окне (где видео отображается нормально). Это должно привести к появлению любого соответствующего запроса (запросов) GET для рассматриваемого медиа файла (ов).

Проверка запроса cURL

Скопированный текст должен выглядеть примерно так:

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" Принять: видео /вебм, видео /ogg, видео /; q = 0,9, приложение /ogg; q = 0,7, аудио / ; q = 0,6, / ; q = 0,5 "-H "Accept-Language: EN-US, ан; д = 0,5" -h "Диапазон: байт = 0." -H "Cookie: XSRF-ЗНАК = eyJpdiI6IkE0WlRudGtmdUlhQWRUTUFndkFPelE9PSIsInZhbHVlIjoiXC95dmFPeGdkWTN6QmZTamNXTUF0MFJOSitHWXdxOE1kRHRQeGVHWURmbVRuWG4zU0lFSW5IZEVpcFwvYzlQandDeUd4cGlkUzVtZk1PaEs2dzRoaDlRUT09IiwibWFjIjoiMDdjNjNmYTFhOWM5MzhlYmFjNTk5ZmRmNzNiN2IxYTc2ZWJlOWM3MjVlZDM5YWY4ZDQxYTdmMjNjNzNjOWI3MCJ9; laravel_session = eyJpdiI6IjN0VTlEQStvdyt0NXdMeDdTaUhJOUE9PSIsInZhbHVlIjoibXhMQ1dLMFl3M0FUSTlIKzVxcjRqTnpncFFJRGhrZktCaThKeHZxRXRmU1M5VXFWSjR0bjJIKzRHWE1VWFpxNUp3QTNZSW1ZXC9vaW1DaEdGU0k2dCtRPT0iLCJtYWMiOiI0YzYxOTI3ZjRiZTYzZGNkZmZkZmY1YjhjOWMzZGJmM2I1N2EyMjE4ODU1ODkwMGRmYjFhOThjOWZlNmRiZDhkIn0" %" 3D; Wh-виджет -cookie = 1 "-H" DNT: 1 "-H" Соединение: keep-alive "

Если вам нужен только токен CSRF и идентификатор сеанса Laravel, вы можете удалить большую часть скопированной команды, оставив только, например:

"XSRF-ЗНАК = 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 (captial oh) сразу после curl и правильный URL (при необходимости), например:

curl -O " http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4 " -H "Хост: animax.mn:12000" [...] -H "Соединение: поддерживать связь"

(Для ясности, эллипсы [...] - это просто мое сокращение - вы бы включили полный оставшийся текст скопированной команды, показанный ранее).

Затем можно (надеюсь) запустить эту команду cURL из командной строки, чтобы загрузить видео.

Сокращение команды

В этом случае команда cURL по умолчанию имеет много посторонних частей. Если вы чувствуете необходимость, команду cURL можно сократить, например, до:

локон -O http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4 -r 0- --cookie "XSRF-ЗНАК = eyJpdiI6IkE0WlRudGtmdUlhQWRUTUFndkFPelE9PSIsInZhbHVlIjoiXC95dmFPeGdkWTN6QmZTamNXTUF0MFJOSitHWXdxOE1kRHRQeGVHWURmbVRuWG4zU0lFSW5IZEVpcFwvYzlQandDeUd4cGlkUzVtZk1PaEs2dzRoaDlRUT09IiwibWFjIjoiMDdjNjNmYTFhOWM5MzhlYmFjNTk5ZmRmNzNiN2IxYTc2ZWJlOWM3MjVlZDM5YWY4ZDQxYTdmMjNjNzNjOWI3MCJ9; laravel_session = eyJpdiI6IjN0VTlEQStvdyt0NXdMeDdTaUhJOUE9PSIsInZhbHVlIjoibXhMQ1dLMFl3M0FUSTlIKzVxcjRqTnpncFFJRGhrZktCaThKeHZxRXRmU1M5VXFWSjR0bjJIKzRHWE1VWFpxNUp3QTNZSW1ZXC9vaW1DaEdGU0k2dCtRPT0iLCJtYWMiOiI0YzYxOTI3ZjRiZTYzZGNkZmZkZmY1YjhjOWMzZGJmM2I1N2EyMjE4ODU1ODkwMGRmYjFhOThjOWZlNmRiZDhkIn0" % "3D" -H «соединения: держать-жив»

В качестве быстрой точки, -r 0- занимает место -H "Range: bytes=0- (в этом случае заголовок Range: является единственным другим компонентом исходного URL-адреса, который необходим cURL, кроме заданных файлов cookie).

Заметки

  • Я не обнаружил ошибок, связанных с повторным использованием одних и тех же файлов cookie для нескольких видео в течение одного сеанса. Однако учтите, что выход из системы / вход в систему изменит куки-файлы, и вам придется выполнять описанные мной шаги, чтобы собирать их каждый раз, когда вы это делаете.

  • Вы можете отключить антивирус и т.д. (Временно) для загрузки

  • Вероятно, нет необходимости держать окно браузера https://animax.mn открытым, но я бы просто хотел выйти из системы после этого (или, возможно, повторно войти в систему). В противном случае неясно, каковы критерии обработки сеанса для сайта.

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

  • Вы, вероятно, захотите быть осторожным с копированием файлов cookie. Они могут быть немного громоздкими при обычных операциях вырезания / вставки.


Оптимизм против пессимизма

«Оптимист заявляет, что мы живем в лучшем из всех возможных миров, и пессимист опасается, что это правда».

К сожалению, во время тестирования этого ответа мне не удалось полностью загрузить любое видео (хотя частичная загрузка работала до того момента, когда они были сломаны). Я подозреваю, что плохое сетевое соединение и (возможно) плохой дизайн сайта привели к прерванным загрузкам (случайным образом я столкнулся с несколькими ошибками PHP, не связанными с cURL, только просматривая сайт).

Таким образом, ваш пробег в cURL и выбранный вами сайт могут отличаться ...


Всё ещё ищете ответ? Посмотрите другие вопросы с метками .