Tentei baixar um vídeo usando o gerenciador de download da Internet, mas falhou

Tentei baixar um vídeo usando o gerenciador de download da Internet, mas falhou

Eu quero baixar este vídeo -http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4

Aqui está um link para uma página com vídeos semelhantes. Tentei baixar o vídeo usandoGerenciador de download da internet, mas falhou, como mostrado nesta captura de tela

Falha na captura de tela do gerenciador de download da Internet

É possível salvar este vídeo para visualização offline? Por favor me ajude. Obrigado.

Responder1


Observe que o site em questão ( http://animax.mn) parece não estar operacional em junho de 2021)


O problema que você provavelmente está enfrentando é que o site usa cookies especiais, que o Internet Download Manager provavelmente não está enviando. Particularmente, estes incluem um token CSRF para proteção contrafalsificação de solicitação entre sites ataques e umEstrutura PHP Laravelidentificação de sessão. Estes precisam ser transmitidos com a solicitação do arquivo ou a solicitação será recusada.

Para baixar o vídeo, você pode:

  • Veja se existe uma opção para incluí-los ou adicionar cookies ao Internet Download Manager.

  • Use outra ferramenta que possa baixar arquivos e também lidar com cookies (comoondulação).

Supondo que o Internet Download Manager não suporte nenhuma opção adicional para ajudar a baixar este vídeo, você pode tentar as instruções básicas para cURL fornecidas abaixo.


Obtendo cURL

cURL pode ser baixado de seupágina oficial de download. As compilações do Windows estão quase no final. Os números de versão azuis apontam para os arquivos apropriados para download. Os nomes pessoais azuis normalmente levam a outro lugar.

Como sugestão, você pode usar uma das compilações v7.59.0 atuais (no momento em que este livro foi escrito) de Viktor Szakats (a versão Win32 ou Win64, conforme apropriado).

Atualizar:

As construções de Viktor Szakats aparentemente foram suplantadas pelocompilações oficiais do Windows de cURL(que ainda são recomendados e estão disponíveis em versões de 32/64 bits).

Depois de baixado, basta descompactar o arquivo e colocar o conteúdo em uma pasta permanente de sua escolha. Para evitar ter que usar o caminho completo curl.exesempre que usar cURL, você provavelmente desejará registrar-se curl.exeno seu Windows Path( curl.exeestá localizado na binpasta das compilações Szakats para as compilações oficiais do Windows).

Obtendo os biscoitos

Provavelmente, você pode usar seu navegador para obter o token CSRF necessário e o ID de sessão do Laravel para usar com cURL (ou qualquer programa que você escolher) por meio do console do desenvolvedor incluído nos navegadores modernos do estilo Chromium (Firefox, Chrome, Opera, etc.). Como um benefício adicional, seguindo as etapas abaixo, você também pode obter seu comando cURL básico...

Etapas de "Copiar como cURL":

  1. Faça login no site normalmente.

  2. Vá para uma página de vídeo (como um dos listados neste link da sua pergunta).

  3. Pressione F12(ou Ctrl+ Shift+ Ino Opera) para abrir o console do desenvolvedor e selecione oRedeopção à direita. Para facilitar o uso, sugiro também que você clique no pequenoMostrar em janelas separadasícone (na extrema direita) para separar o console da janela principal do navegador.

ex. Opção de rede e console separado Opções de rede e encaixe do console do desenvolvedor

  1. Recarregue a página de vídeo, mas não feche o console. O console irá capturar o tráfego de rede relacionado à página, incluindo o HTTPPEGARsolicitar por exemplohttp://animax.mn:12000/?media=rencoded/op/one_piece503.mp4 (que apareceria como GET /?media=rencoded/op/one_piece503.mp4).

  2. Haverá um grande número de GETsolicitações, então você provavelmente desejará filtrá-las com omeios de comunicaçãosubopção. Você pode visualizar os cookies selecionando oBiscoitosopção da GETsolicitação também.

ex. Filtragem de mídia e visualização de cookies Filtro de mídia e opções de cookies do console do desenvolvedor

  1. Clique com o botão direito na GETsolicitação apropriada e selecione oCopiar como cURLopção de menu (provavelmenteCopiar como cURL (cmd)no Chrome). Cole o comando resultante no Bloco de Notas ou similar (seránãoser exibido antecipadamente).

ex. Copiar como cURL - Firefox Console do desenvolvedor copiando solicitação GET como Curl

Com os links de vídeo fornecidos, não tive nenhum problema com GETas solicitações aparecendo imediatamente. No entanto, se omeios de comunicaçãoa opção de filtro está em branco, você deve usar o consoleClaro(Lixeira) na extrema esquerda e pressione o botão "play" do media player na janela principal (onde o vídeo aparece normalmente). Isso deve fazer com que GETapareçam quaisquer solicitações apropriadas para o(s) arquivo(s) de mídia em questão.

Inspecionando a solicitação cURL

O texto que você copiou deve ser semelhante ao seguinte:

ondulaçãohttp://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 "Aceitar: video/webm,video/ ah, vídeo/;q=0,9,aplicativo/ogg;q=0,7,áudio/;q=0,6,/;q=0,5" -H "Aceitar idioma: en-US,en;q=0,5" -H "Intervalo: bytes=0-" -H "Cookie: XSRF-TOKEN=eyJpdiI6IkE0WlRudGtmdUlhQWRUTUFndkFPelE9PSIsInZhbHVlIjoiXC95dmFPeGdkWTN6QmZTamNXTUF0MF JOSitHWXdxOE1kRHRQeGVHWURmbVRuWG4zU0lFSW5IZEVpcFwvYzlQandDeUd4cGlkUzVtZk1PaEs2dzRoaDlRUT09IiwibWFjIjoiMDdjNjNmYTFhOWM5MzhlYmFjNTk5ZmRmNzNiN2IxYTc2ZWJ lOWM3MjVlZDM5YWY4ZDQxYTdmMjNjNzNjOWI3MCJ9; laravel_session=eyJpdiI6IjN0VTlEQStvdyt0NXdMeDdTaUhJOUE9PSIsInZhbHVlIjoibXhMQ1dL MFl3M0FUSTlIKzVxcjRqTnpncFFJRGhrZktCaThKeHZxRXRmU1M5VXFWSjR0bjJIKzRHWE1VWFpxNUp3 QTNZSW1ZXC9vaW1DaEdGU0k2dCtRPT0iLCJtYWMiOiI0YzYxOTI3ZjRiZTYzZGNkZmZkZmY1YjhjOWMzZGJmM2I1N2EyMjE4ODU1ODkwMGRmYjFhOThjOWZlNmRiZDhkIn0"%"3D; wh-widget-cookie=1" -H "DNT: 1" -H "Conexão: keep-alive"

Se você precisar apenas do token CSRF e do ID de sessão do Laravel, poderá eliminar a maior parte do comando copiado, deixando apenas, por exemplo:

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

Observe que você poderá eliminar com segurança a ; wh-widget-cookie=1"parte final dos cookies, conforme mostrado acima (este último cookie não parece necessário para conexões via cURL). Esteja ciente, entretanto, e mantenha as aspas duplas em torno dos cookies, a menos que você determine que eles não são realmente necessários.

Baixando com cURL

Como está, o comando que você copiou inicialmente contém (quase) todos os dados necessários para fazer uma solicitação, por exemplohttp://animax.mn:12000/?media=rencoded/op/one_piece503.mp4. Você só precisa adicionar a -Oopção de saída (captial oh) logo depois curle o URL correto (conforme necessário), por exemplo:

curl -O "http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4" -H "Host: animax.mn:12000" [...] -H "Conexão: keep-alive"

(Para ser claro, as reticências [...]são apenas minha abreviação – você incluiria o texto completo restante do comando copiado, mostrado anteriormente).

Você poderia então (espero) executar este comando cURL na linha de comando para baixar o vídeo.

Encurtando o comando

Neste caso, o comando cURL padrão contém muitas peças estranhas. Se você sentir necessidade, o comando cURL pode ser abreviado para apenas, por exemplo:

enrolar -Ohttp://animax.mn:12000/?media=rencoded/op/one_piece503.mp4-r 0- --cookie "XSRF-TOKEN = eyJpdiI6IkE0WlRudGtmdUlhQWRUTUFndkFPelE9PSIsInZhbHVlIjoiXC95dmFPeGdkWTN6QmZTamNXTUF0MFJOSitHWXdxOE1kRHRQeGVHWURmbVRuWG4zU0lFSW5IZEVp cFwvYzlQandDeUd4cGlkUzVtZk1PaEs2dzRoaDlRUT09IiwibWFjIjoiMDdjNjNmYTFhOWM 5MzhlYmFjNTk5ZmRmNzNiN2IxYTc2ZWJlOWM3MjVlZDM5YWY4ZDQxYTdmMjNjNzNjOWI3MC J9; NUp3QTNZSW1ZXC9vaW1DaEdGU0k2dCtRPT0iLCJtYWMiOiI0YzYxOTI3ZjRiZTYzZGNkZmZkZmY1YjhjOWMzZGJmM2I1N2EyMjE4ODU1ODkwMGRmYjFhOThjOWZlNmRiZDhkIn0"%"3D " -H "Conexão: manter vivo"

Resumindo, -r 0-toma o lugar de -H "Range: bytes=0-(neste caso, o Range:cabeçalho é o único outro componente do URL original necessário para cURL além dos cookies fornecidos).

Notas

  • Não encontrei erros relacionados à reutilização dos mesmos cookies para vários vídeos na mesma sessão. No entanto, observe que sair/fazer login alterará os cookies e você terá que executar as etapas descritas para reuni-los novamente sempre que fizer isso.

  • Você pode desabilitar seu antivírus, etc. (temporariamente) para downloads

  • Provavelmente não é necessário manter ohttps://animax.mnjanela do navegador aberta, mas eu faria apenas para poder sair quando terminar (ou possivelmente fazer login novamente). De outra forma, parece não estar claro quais são os critérios de tratamento de sessão para o site.

  • Você pode pegar (quase?) os mesmos cookies da POSTsolicitação de login inicial, mas parece que pode ter havido alguns pequenos problemas não confirmados com isso (é por isso que recomendo obtê-los diretamente da GETsolicitação).

  • Você provavelmente desejará ter cuidado ao copiar os cookies. Eles podem ser um pouco complicados com operações normais de recortar/colar.


Otimismo vs. Pessimismo

“O otimista proclama que vivemos no melhor de todos os mundos possíveis; e o pessimista teme que isso seja verdade.”

Infelizmente, ao testar esta resposta, não conseguicompletamentebaixe qualquer vídeo (embora os downloads parciais tenham funcionado até o ponto em que foram quebrados). Suspeito que uma conexão de rede ruim e (possivelmente) um design ruim do site levaram aos downloads abortados (curiosamente, encontrei vários erros de PHP não relacionados ao cURL apenas navegando no site).

Portanto, sua milhagem com cURL e o site escolhido pode variar...


informação relacionada