Saltar al contenido

Descargar archivos como mega.co.nz

Hola usuario de nuestro sitio, tenemos la respuesta a lo que estabas buscando, has scroll y la encontrarás un poco más abajo.

Solución:

Mega utiliza varios métodos diferentes para hacer esto: (a partir del 27 de noviembre de 2013)

  1. API del sistema de archivos (polyfill de extensión de Chrome/Firefox)
  2. Adobe Flash SWF Filewriter (retroceso de navegadores antiguos)
  3. Creador de blobs (IE10/IE11)
  4. Extensión MEGA Firefox (obsoleta)
  5. Arraybuffer/Blob (en memoria) + a[download] (para navegadores que admiten un[download])
  6. MediaSource (solución de transmisión experimental)
  7. Blob almacenado en almacenamiento IndexedDB + a[download] (Firefox 20+, mejora sobre el método Blob en memoria)

(fuente: https://eu.static.mega.co.nz/js/download_6.js)

Aquí se presenta una implementación básica del descargador en el navegador de varias partes que utiliza las API de Blob y URL. Descarga un archivo en 4 solicitudes simultáneas y también muestra el progreso. Tenga en cuenta que parece configurar range En general, el encabezado puede no ser una buena idea en las solicitudes XHR, eche un vistazo a este tema.

Durante la descarga:

Durante la descarga

Después de la descarga:

Después de la descarga

Otro tema interesante sería implementar la funcionalidad Pausa/Reanudar de Mega. La API XHR de los navegadores actuales no ofrece esa capacidad, por lo que la única posibilidad que tiene es hacer múltiples descargas de fragmentos pequeños y renunciar a la parte descargada de sus fragmentos pequeños, la forma en que parece que también se hace en Mega. Pero fetch La función de transmisión se puede usar para ese propósito, aún no lo exploré lo suficientemente bien, pero está documentado aquí.

Por cierto, echa un vistazo a estos increíbles proyectos:

  • https://github.com/eligrey/FileSaver.js
  • https://github.com/jimmywarting/StreamSaver.js

MEGAcmd

Existe megacmd, la interfaz de línea de comandos oficial. También puede compilarlo a partir de fuentes en github en https://github.com/meganz/MEGAcmd

megacmd es un envoltorio alrededor de Mega SDK y si decide compilarlo por su cuenta, necesitará las mismas dependencias (en ubuntu) que las que se enumeran a continuación para Mega SDK.

Para obtener detalles sobre el uso, consulte la Guía del usuario de MEGAcmd.

SDK mega

Mega SDK que se puede compilar siguiendo los pasos en la página de github. Incluye el megacli utilidad que es un shell interactivo para sincronizar y descargar/cargar.

## compilation steps for ubuntu
git clone --depth 1 https://github.com/meganz/sdk megasdk
cd megasdk
sudo apt install libcurl4-openssl-dev  libc-ares-dev libssl-dev libcrypto++-dev  zlib1g-dev libsqlite3-dev  libfreeimage-dev libswscale-dev
autogen.sh
./configure
make -j 8  ## pass the number of CPUs you have to speed up compilation
sudo make install

módulo mega.py python (obsoleto)

Para aquellos que encontraron esta pregunta buscando una receta real para descargar un enlace en modo de texto, aquí hay un script de python simple que usa el módulo mega.py (instálelo con sudo pip install mega.py):

import sys
import getpass
#install the module with: 'sudo pip install mega.py'
from mega import Mega

email = '[email protected]'
password = getpass.getpass(prompt='Mega password for :'.format(email))

mega = Mega('verbose': True)
m = mega.login(email, password)
m.download_url(sys.argv[1])

El script funciona con python 2.7 y toma la URL del enlace mega.nz.

conseguir pase se usa para ingresar de forma segura la contraseña en la consola para evitar almacenar la contraseña en el script; si se siente cómodo codificando la contraseña, configúrela en la línea #7.

megatools

En la mayoría de las cajas de Linux/posix puede instalar megatools desde repositorios estándar, es decir

En ubuntu/debian:

apt install megatools

En macOS:

brew install megatools

Una vez instalado encontrará una serie de utilidades de línea de comandos, entre las que megadl que puede descargar tanto archivos compartidos como sus propios archivos. Ver megadl -h para detalles.

Aquí puedes ver las comentarios y valoraciones de los lectores

Si te ha sido útil este post, sería de mucha ayuda si lo compartes con el resto seniors de esta forma nos ayudas a dar difusión a nuestro contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *