Ho provato a scaricare un video utilizzando Internet Download Manager, ma non è riuscito


Risposte:


1

Il problema che probabilmente stai riscontrando è che il sito utilizza cookie speciali, che probabilmente Internet Download Manager non sta inviando. In particolare, questi includono un token CSRF da proteggere contro falsificazione di richieste cross-site attacchi e a Laravel PHP Framework ID della sessione. Questi devono essere trasmessi con la richiesta del file o la richiesta verrà rifiutata.

Per scaricare il video, puoi:

  • Verifica se esiste un'opzione per includerli o altrimenti aggiungere cookie a Internet Download Manager.

  • Utilizzare un altro strumento che può scaricare i file e gestire i cookie (come ad esempio arricciare ).

Supponendo che Internet Download Manager non supporti alcuna opzione aggiuntiva per aiutare a scaricare questo video, puoi provare le istruzioni di base per cURL che fornisco di seguito.


Ottenere cURL

cURL può essere scaricato dal suo pagina di download ufficiale . Le build di Windows sono vicine al fondo. I numeri di versione blu si collegano a i file appropriati da scaricare. I nomi personali blu in genere portano altrove.

Come suggerimento, potresti voler utilizzare uno dei build attuali (al momento in cui scrivo) v7.59.0 di Viktor Szakats (o il Win32 o Win64 versione, come appropriato).

Una volta scaricato, è sufficiente decomprimere il file e posizionare il contenuto in una cartella permanente di tua scelta. Per evitare di dover utilizzare il percorso completo per curl.exe ogni volta che usi cURL, probabilmente vorrai registrarti curl.exe nel tuo Windows Path ( curl.exe si trova nel bin cartella per le build di Szakats).

Ottenere i cookie

È probabile che tu possa utilizzare il tuo browser per ottenere il token CSRF e l'ID sessione di Laravel da utilizzare con cURL (o qualsiasi altro programma tu scelga) attraverso la console dello sviluppatore inclusa nei moderni browser in stile Chromium (Firefox, Chrome, Opera, ecc.). Come ulteriore vantaggio, seguendo i passaggi seguenti, puoi ottenere anche il tuo comando cURL di base ...

"Copia come cURL" Passaggi:

  1. Accedi al sito web normalmente.

  2. Vai a una pagina video ( come uno di quelli elencati in questo link dalla tua domanda ).

  3. stampa F12 (o Ctrl + Cambio + io in Opera) per aprire la console degli sviluppatori e selezionare il Rete opzione a destra. Per facilità d'uso, ti suggerirei anche di fare clic sul piccolo Mostra in finestre separate icona (all'estrema destra) per separare la console dalla finestra principale del browser.

    ex. Opzione di rete e console separata Developer's Console Network And Docking Options

  4. Ricarica la pagina del video ma non chiudi la console. La console acquisirà il traffico di rete relativo alla pagina, incluso l'HTTP OTTENERE richiesta per es. http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4 (che apparirebbe come GET /?media=rencoded/op/one_piece503.mp4 ).

  5. Ci sarà un gran numero di GET richieste, quindi probabilmente vorrai filtrarle con Media sub-opzione. È possibile visualizzare l'anteprima dei cookie selezionando il Biscotti opzione del GET richiesta pure.

    ex. Filtro multimediale e anteprima cookie Developer's Console Media Filter and Cookie Options

  6. Fare clic con il pulsante destro del mouse appropriato GET richiesta e selezionare il Copia come cURL opzione di menu (probabile Copia come cURL (cmd) in Chrome). Incolla il comando risultante in Blocco note o simile (lo farà non essere visualizzati in anticipo).

    ex. Copia come cURL - Firefox Developer's Console Copying GET Request As Curl

Con i collegamenti video forniti, non ho avuto alcun problema con GET richieste che appaiono immediatamente. Tuttavia, se il Media l'opzione di filtro è vuota, dovresti usare la console Chiaro (Cestino) icona all'estrema sinistra quindi premere il tasto "play" del lettore multimediale nella finestra principale (dove il video appare normalmente). Questo dovrebbe rendere appropriato GET vengono visualizzate le richieste per i file multimediali in questione.

Ispezione della richiesta di cURL

Il testo che hai copiato dovrebbe essere simile al seguente:

arricciare http://animax.mn:12000/?media=rencoded/op/one_piece001.mp4 -H "Host: animax.mn:12000" -H "User-Agent: Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 54.0) Gecko / 20100101 Firefox / 54.0" -H "Accetta: 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, it; q = 0.5" -h "Gamma: byte = 0-" -H "Cookie: XSRF-token = eyJpdiI6IkE0WlRudGtmdUlhQWRUTUFndkFPelE9PSIsInZhbHVlIjoiXC95dmFPeGdkWTN6QmZTamNXTUF0MFJOSitHWXdxOE1kRHRQeGVHWURmbVRuWG4zU0lFSW5IZEVpcFwvYzlQandDeUd4cGlkUzVtZk1PaEs2dzRoaDlRUT09IiwibWFjIjoiMDdjNjNmYTFhOWM5MzhlYmFjNTk5ZmRmNzNiN2IxYTc2ZWJlOWM3MjVlZDM5YWY4ZDQxYTdmMjNjNzNjOWI3MCJ9; laravel_session = eyJpdiI6IjN0VTlEQStvdyt0NXdMeDdTaUhJOUE9PSIsInZhbHVlIjoibXhMQ1dLMFl3M0FUSTlIKzVxcjRqTnpncFFJRGhrZktCaThKeHZxRXRmU1M5VXFWSjR0bjJIKzRHWE1VWFpxNUp3QTNZSW1ZXC9vaW1DaEdGU0k2dCtRPT0iLCJtYWMiOiI0YzYxOTI3ZjRiZTYzZGNkZmZkZmY1YjhjOWMzZGJmM2I1N2EyMjE4ODU1ODkwMGRmYjFhOThjOWZlNmRiZDhkIn0 3D "%"; wh-widget-cookie = 1 "-H" DNT: 1 "-H" Connessione: keep-alive "

Se hai bisogno solo del token CSRF e dell'ID sessione di Laravel, puoi eliminare la maggior parte del comando copiato, lasciando solo e.g .:

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

Nota che dovresti essere in grado di eliminare in modo sicuro il file ; wh-widget-cookie=1" porzione alla fine dei cookie, come mostrato sopra (quest'ultimo cookie non sembra necessario per le connessioni tramite cURL). Essere consapevoli, tuttavia, e mantenere le doppie virgolette che circondano i cookie a meno che non si determini che non sono effettivamente necessari.

Download con cURL

Com'è, il comando che hai inizialmente copiato ha (quasi) tutti i dati necessari per fare una richiesta per es. http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4 . Hai solo bisogno di aggiungere il -O (capitale di) opzione di uscita subito dopo curl e l'URL corretto (se necessario) per es .:

arricciatura -O " http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4 "-H" Host: animax.mn:12000 "[...] -H" Connessione: keep-alive "

(Per essere chiari, le ellissi [...] sono solo la mia stenografia - includeresti il ​​testo rimanente del comando copiato, mostrato in precedenza).

Potresti quindi (si spera) eseguire questo comando cURL dalla riga di comando per scaricare il video.

Accorciare il comando

In questo caso, il comando cURL predefinito ha molti pezzi estranei. Se ne senti la necessità, il comando cURL può essere abbreviato a solo per es .:

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

Come un punto rapido, -r 0- prende il posto di -H "Range: bytes=0- (in questo caso, il Range: header è l'unico altro componente dell'URL originale richiesto da cURL oltre ai cookie dati).

Gli appunti

  • Non ho riscontrato errori in merito al riutilizzo degli stessi cookie per più video nella stessa sessione. Tuttavia, tieni presente che la disconnessione / l'accesso modificherà i cookie e dovrai eseguire i passaggi che descriverò per registrarli ogni volta che lo fai.

  • È possibile disabilitare l'antivirus, ecc. (Temporaneamente) per i download

  • Probabilmente non è necessario mantenere il https://animax.mn finestra del browser aperta ma vorrei solo così ho potuto effettuare il logout al termine (o eventualmente ri-accedere). Non è chiaro quali siano i criteri di gestione delle sessioni in genere per il sito altrimenti.

  • Puoi prendere (quasi?) Gli stessi cookie dal login iniziale POST richiesta, ma sembrava che potessero esserci stati alcuni piccoli problemi non confermati (è per questo che consiglio di prenderli direttamente dal GET richiesta).

  • Probabilmente vorrai fare attenzione con la copia dei cookie. Possono essere un po 'ingombranti con le normali operazioni di copia e incolla.


Ottimismo vs pessimismo

"L'ottimista proclama che viviamo nel migliore dei mondi possibili, e il pessimista teme che sia vero".

Sfortunatamente, durante il test di questa risposta, non ero in grado di farlo completamente scaricare qualsiasi video (anche se i download parziali hanno funzionato fino al punto in cui sono stati interrotti). Ho il sospetto che una scarsa connessione di rete e (possibilmente) una scarsa progettazione del sito portasse a download abortiti (in modo aneddotico, ho riscontrato diversi errori di PHP non correlati a cURL solo per navigare nel sito).

Quindi il tuo chilometraggio con cURL e il tuo sito prescelto possono variare ...


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.