Intenté descargar un video usando el Administrador de descargas de Internet, pero falló

Respuestas:

1

El problema que probablemente encuentre es que el sitio utiliza cookies especiales, que probablemente no está enviando Internet Download Manager. En particular, estos incluyen un token CSRF para proteger contra falsificación de solicitud en el sitio ataques y un Laravel PHP Framework ID de sesión. Estos deben ser transmitidos con la solicitud del archivo o la solicitud será rechazada.

Para descargar el video, puedes:

  • Vea si hay una opción para incluir estos o agregar cookies al Administrador de descargas de Internet.

  • Use otra herramienta que pueda descargar archivos y manejar cookies (como rizo ).

Suponiendo que el Administrador de descargas de Internet no admita ninguna opción adicional para ayudar a descargar este video, puede probar las instrucciones básicas que se detallan a continuación.


Obteniendo cURL

cURL se puede descargar desde su página de descarga oficial . Las compilaciones de Windows están cerca de la parte inferior. Los números de la versión azul enlazan a Los archivos apropiados para descargar. Los nombres personales azules suelen llevar a otros lugares.

Como sugerencia, es posible que desee utilizar una de las compilaciones v7.59.0 actuales (en el momento de escribir esto) de Viktor Szakats (ya sea la Win32 o Win64 versión, según corresponda).

Una vez descargado, simplemente descomprima el archivo y coloque el contenido en una carpeta permanente de su elección. Para evitar tener que utilizar el camino completo para curl.exe cada vez que use cURL, es probable que desee registrarse curl.exe en tu Windows Path ( curl.exe se encuentra en la bin carpeta para las compilaciones de Szakats).

Conseguir las cookies

Probablemente pueda usar su navegador para obtener el token CSRF y el ID de sesión de Laravel necesarios para usar con cURL (o el programa que elija) a través de la consola del desarrollador incluida con los navegadores modernos de estilo Chromium (Firefox, Chrome, Opera, etc.). Como beneficio adicional, al seguir los pasos a continuación, también puede obtener su comando cURL básico ...

"Copiar como cURL" Pasos:

  1. Inicie sesión en el sitio web como de costumbre.

  2. Ir a una página de video ( como uno de los que figuran en este enlace de su pregunta ).

  3. prensa F12 (o Ctrl + Cambio + yo en Opera) para abrir la consola de desarrolladores y seleccionar la Red Opción a la derecha. Para facilitar su uso, también le sugiero que haga clic en la pequeña Mostrar en ventanas separadas Icono (en el extremo derecho) para separar la consola de la ventana principal del navegador.

    ex. Opción de red y consola separada Developer's Console Network And Docking Options

  4. Vuelva a cargar la página de video pero no cierre la consola. La consola capturará el tráfico de red relacionado con la página, incluido el HTTP OBTENER solicitud de por ejemplo http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4 (que aparecería como GET /?media=rencoded/op/one_piece503.mp4 ).

  5. Habrá una gran cantidad de GET solicitudes, por lo que es probable que desee filtrarlas con el Medios de comunicación subopción. Puede previsualizar las cookies seleccionando la Galletas opción de la GET petición también.

    ex. Filtro de medios y vista previa de cookies Developer's Console Media Filter and Cookie Options

  6. Haga clic derecho en el apropiado GET solicitar y seleccionar la Copiar como cURL opción de menú (probable Copiar como cURL (cmd) en cromo). Pegue el comando resultante en el Bloc de notas o similar (lo hará no mostrarse de antemano).

    ex. Copiar Como cURL - Firefox Developer's Console Copying GET Request As Curl

Con los enlaces de video dados, no tuve ningún problema con GET Las solicitudes aparecen inmediatamente. Sin embargo, si el Medios de comunicación La opción de filtro está en blanco, debe usar la consola. Claro Haga clic en el icono (Papelera) en el extremo izquierdo y presione el botón "Reproducir" del reproductor de medios en la ventana principal (donde el video aparece normalmente). Esto debería hacer cualquier apropiado GET Aparecerán las solicitudes de los archivos multimedia en cuestión.

Inspeccionando La Solicitud CURL

El texto que has copiado debería ser similar al siguiente:

rizo http://animax.mn:12000/?media=rencoded/op/one_piece001.mp4 -H "Host: animax.mn:12000" -H "Usuario-Agente: Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 54.0) Gecko / 20100101 Firefox / 54.0" -H "Aceptar: video / webm, video / ogg, video / ; q = 0.9, application / ogg; q = 0.7, audio / ; q = 0.6, / ; Q = 0,5" -H "Accept-Language: en-US, en; q = 0,5" -h "Rango: bytes = 0-" -H "Cookie: XSRF-TOKEN = eyJpdiI6IkE0WlRudGtmdUlhQWRUTUFndkFPelE9PSIsInZhbHVlIjoiXC95dmFPeGdkWTN6QmZTamNXTUF0MFJOSitHWXdxOE1kRHRQeGVHWURmbVRuWG4zU0lFSW5IZEVpcFwvYzlQandDeUd4cGlkUzVtZk1PaEs2dzRoaDlRUT09IiwibWFjIjoiMDdjNjNmYTFhOWM5MzhlYmFjNTk5ZmRmNzNiN2IxYTc2ZWJlOWM3MjVlZDM5YWY4ZDQxYTdmMjNjNzNjOWI3MCJ9; laravel_session = eyJpdiI6IjN0VTlEQStvdyt0NXdMeDdTaUhJOUE9PSIsInZhbHVlIjoibXhMQ1dLMFl3M0FUSTlIKzVxcjRqTnpncFFJRGhrZktCaThKeHZxRXRmU1M5VXFWSjR0bjJIKzRHWE1VWFpxNUp3QTNZSW1ZXC9vaW1DaEdGU0k2dCtRPT0iLCJtYWMiOiI0YzYxOTI3ZjRiZTYzZGNkZmZkZmY1YjhjOWMzZGJmM2I1N2EyMjE4ODU1ODkwMGRmYjFhOThjOWZlNmRiZDhkIn0 3D "%"; wh-widget-cookie = 1 "-H" DNT: 1 "-H" Conexión: keep-alive "

Si solo necesita el token CSRF y el ID de sesión de Laravel, puede eliminar la mayoría del comando copiado, dejando solo por ejemplo:

"XSRF-TOKEN = eyJpdiI6IkE0WlRudGtmdUlhQWRUTUFndkFPelE9PSIsInZhbHVlIjoiXC95dmFPeGdkWTN6QmZTamNXTUF0MFJOSitHWXdxOE1kRHRQeGVHWURmbVRuWG4zU0lFSW5IZEVpcFwvYzlQandDeUd4cGlkUzVtZk1PaEs2dzRoaDlRUT09IiwibWFjIjoiMDdjNjNmYTFhOWM5MzhlYmFjNTk5ZmRmNzNiN2IxYTc2ZWJlOWM3MjVlZDM5YWY4ZDQxYTdmMjNjNzNjOWI3MCJ9; laravel_session = eyJpdiI6IjN0VTlEQStvdyt0NXdMeDdTaUhJOUE9PSIsInZhbHVlIjoibXhMQ1dLMFl3M0FUSTlIKzVxcjRqTnpncFFJRGhrZktCaThKeHZxRXRmU1M5VXFWSjR0bjJIKzRHWE1VWFpxNUp3QTNZSW1ZXC9vaW1DaEdGU0k2dCtRPT0iLCJtYWMiOiI0YzYxOTI3ZjRiZTYzZGNkZmZkZmY1YjhjOWMzZGJmM2I1N2EyMjE4ODU1ODkwMGRmYjFhOThjOWZlNmRiZDhkIn0" % "3D"

Tenga en cuenta que debería poder eliminar de forma segura ; wh-widget-cookie=1" Parte al final de las cookies, como se muestra arriba (esta última cookie no parece necesaria para las conexiones a través de cURL). Tenga en cuenta, sin embargo, y mantenga las comillas dobles que rodean las cookies a menos que determine que realmente no son necesarias.

Descargando con cURL

Tal como está, el comando que copió inicialmente tiene (casi) todos los datos necesarios para realizar una solicitud, por ejemplo. http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4 . Solo necesitas añadir el -O Opción de salida (capital de) justo después curl y la URL correcta (según sea necesario), por ejemplo:

rizo -O " http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4 "-H" Anfitrión: animax.mn:12000 "[...] -H" Conexión: mantener vivo "

(Para ser claros, las elipsis [...] son solo mi taquigrafía: incluiría el texto restante completo del comando copiado, que se muestra anteriormente).

Luego podría (con suerte) ejecutar este comando cURL desde la línea de comandos para descargar el video.

Acortando el comando

En este caso, el comando cURL predeterminado tiene muchas piezas extrañas. Si siente la necesidad, el comando cURL se puede acortar a, por ejemplo:

rizo -O http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4 -r 0- --cookie "XSRF-token = eyJpdiI6IkE0WlRudGtmdUlhQWRUTUFndkFPelE9PSIsInZhbHVlIjoiXC95dmFPeGdkWTN6QmZTamNXTUF0MFJOSitHWXdxOE1kRHRQeGVHWURmbVRuWG4zU0lFSW5IZEVpcFwvYzlQandDeUd4cGlkUzVtZk1PaEs2dzRoaDlRUT09IiwibWFjIjoiMDdjNjNmYTFhOWM5MzhlYmFjNTk5ZmRmNzNiN2IxYTc2ZWJlOWM3MjVlZDM5YWY4ZDQxYTdmMjNjNzNjOWI3MCJ9; laravel_session = eyJpdiI6IjN0VTlEQStvdyt0NXdMeDdTaUhJOUE9PSIsInZhbHVlIjoibXhMQ1dLMFl3M0FUSTlIKzVxcjRqTnpncFFJRGhrZktCaThKeHZxRXRmU1M5VXFWSjR0bjJIKzRHWE1VWFpxNUp3QTNZSW1ZXC9vaW1DaEdGU0k2dCtRPT0iLCJtYWMiOiI0YzYxOTI3ZjRiZTYzZGNkZmZkZmY1YjhjOWMzZGJmM2I1N2EyMjE4ODU1ODkwMGRmYjFhOThjOWZlNmRiZDhkIn0" % "3D" -H "Conexión: keep-alive"

Como un punto rápido, -r 0- toma el lugar de -H "Range: bytes=0- (en este caso, la Range: header es el único otro componente de la URL original que necesita cURL además de las cookies dadas.

Notas

  • No encontré ningún error con respecto a la reutilización de las mismas cookies para varios videos durante la misma sesión. Sin embargo, tenga en cuenta que cerrar la sesión o cambiará las cookies y tendrá que realizar los pasos que describo para reunirlas cada vez que lo haga.

  • Es posible que desee desactivar su antivirus, etc. (temporalmente) para descargas

  • Probablemente no sea necesario mantener el https://animax.mn La ventana del navegador está abierta, pero me gustaría cerrar la sesión cuando termine (o posiblemente vuelva a iniciar sesión). No parece claro cuáles son los criterios de manejo de la sesión en general para el sitio de otra manera.

  • Puede tomar (¿casi?) Las mismas cookies desde el inicio de sesión inicial POST solicitud, pero parecía que podría haber habido algunos problemas pequeños, no confirmados con eso (por lo que recomiendo tomarlos directamente de la GET solicitud).

  • Probablemente querrás tener cuidado al copiar las cookies. Pueden ser un poco difíciles de manejar con las operaciones normales de cortar / pegar.


Optimismo vs pesimismo

"El optimista proclama que vivimos en el mejor de los mundos posibles; y el pesimista teme que esto sea cierto".

Desafortunadamente, mientras probaba esta respuesta, no pude completamente descargar cualquier video (aunque las descargas parciales funcionaron hasta el punto en que se rompieron). Sospecho que una mala conexión de red y (posiblemente) un diseño deficiente del sitio llevaron a las descargas abortadas (anecdóticamente, encontré varios errores de PHP no relacionados con cURL que solo navega por el sitio).

Por lo tanto, su kilometraje con cURL y su sitio elegido pueden variar ...


Anaksunaman
fuente