wie lade ich Dropbox-Dateien mit dem Befehl wget herunter?

Scheint, dass ich Dropbox-Dateien nur mit dem Explorer wie Chrome und Firefox herunterladen kann. Wenn ich wget zum Herunterladen verwende, würde ich eine Datei im HTML-Format erhalten. Warum?

Zum Beispiel können Sie diesen Link öffnen

Sie würden den Inhalt dieser Datei nicht erhalten, warum? Das Folgende ist Teil des Tests.txt, um es herunterzuladen, das ist nicht der Inhalt des Tests.txt überhaupt.

Ist es also möglich, Dropbox-Dateien mit wget anstelle des Explorers herunterzuladen?

document.observe('script:loaded', function() {
SharingModel.init('test\x2etxt', Util.from_json('\x7b\x22item\x5fid\x22\x3a\x20\x22\x22\x2c\x20\x22secure\x5fhash\x22\x3a\x20\x22\x22\x2c\x20\x22subpath\x22\x3a\x20\x22\x22\x2c\x20\x22tkey\x22\x3a\x20\x22mx9eqve5l2ipgyk\x22\x7d'))
SharingModel.init_file()
$('emsnippet-9911dfc627e1d541').innerHTML = 'test\x2etxt'.em_snippet(50, 0.750).escapeHTML();
$('emsnippet-add7879f5d805012').innerHTML = 'test\x2etxt'.em_snippet(20, 0.750).escapeHTML();
$('emsnippet-981ac0639529f983').innerHTML = 'test\x2etxt'.em_snippet(20, 0.750).escapeHTML();
FilePreview.init_text('https\x3a\x2f\x2fdl\x2edropbox\x2ecom\x2fs\x2fmx9eqve5l2ipgyk\x2ftest\x2etxt', 0)                        });
                    } else if (window.jQuery) {
jQuery(function () {
SharingModel.init('test\x2etxt', Util.from_json('\x7b\x22item\x5fid\x22\x3a\x20\x22\x22\x2c\x20\x22secure\x5fhash\x22\x3a\x20\x22\x22\x2c\x20\x22subpath\x22\x3a\x20\x22\x22\x2c\x20\x22tkey\x22\x3a\x20\x22mx9eqve5l2ipgyk\x22\x7d'))
SharingModel.init_file()
$('emsnippet-9911dfc627e1d541').innerHTML = 'test\x2etxt'.em_snippet(50, 0.750).escapeHTML();
$('emsnippet-add7879f5d805012').innerHTML = 'test\x2etxt'.em_snippet(20, 0.750).escapeHTML();
$('emsnippet-981ac0639529f983').innerHTML = 'test\x2etxt'.em_snippet(20, 0.750).escapeHTML();
FilePreview.init_text('https\x3a\x2f\x2fdl\x2edropbox\x2ecom\x2fs\x2fmx9eqve5l2ipgyk\x2ftest\x2etxt', 0)                        });
                    } 

Ich kann keinen Test bekommen.txt mit Befehl

wget https://www.dropbox.com/s/mx9eqve5l2ipgyk/test.tx


ls -l 
-rw-rw-r-- 1 mirror mirror  30K Sep  6 15:01 test.txt
Author: Sathyajith Bhat, 2012-09-06

5 answers

Der Link in Ihrer Frage ist nicht der Link zur Datei, sondern ein Link zur Dropbox-Seite dieser Datei.

Wenn Sie wget zum Herunterladen verwenden möchten, sollten Sie den Link zum direkten Download aus dem Menü kopieren, das beim Drücken der Download-Schaltfläche nach rechts angezeigt wird.

In meinem Fall hat das gut funktioniert.

Manchmal beziehen sich Probleme beim Herunterladen von Links von außerhalb des Browsers jedoch auf andere Parameter als den Link selbst. Ein gemeinsames Element, das nicht existiert, wenn Sie einfach kopieren Sie den Link sind die Website-Cookies.

Versuchen Sie dies cool FF Add-on, um die richtigen wget Links

Und auch, besonders wenn wir über eine bekannte Workstation sprechen und nicht über eine gelegentliche, können Sie natürlich den Dropbox-Client installieren. Dies ist der einfachste Weg, lassen Sie Ihre Box einfach Teil Ihrer Dateistruktur sein und machen Sie komplizierte Downloads überflüssig.

Siehe diese askubuntu.com post, und die Dropbox Download-Seite.

 23
Author: amotzg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2021-01-15 14:13:40

Füge einfach ?dl=1 am Ende des Links hinzu! Beispiel: https://www.dropbox.com/s/mx9eqve5l2ipgyk/test.txt?dl=1

Das sollte Ihnen einen guten Abruf der betreffenden Datei ermöglichen, ohne der Datei etwas hinzuzufügen.

Noch eine Sache! Wenn Sie die Datei woanders speichern möchten, verwenden Sie die Option -O wie folgt

wget -O /root/Desktop/test.txt "https://www.dropbox.com/s/mx9eqve5l2ipgyk/test.txt?dl=1"

Und wenn Sie ein wenig GUI haben möchten, können Sie zenity verwenden, um den Speicherort zu markieren, an den die Datei heruntergeladen werden soll!

Hier ist ein Beispielcode:

#!/bin/bash
dir=$(zenity --file-selection --directory)
wget -O $dir/test.txt "https://www.dropbox.com/s/mx9eqve5l2ipgyk/test.txt?dl=1"
 132
Author: Ismael Segui,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-10-11 13:01:02

Dropbox hat es so geändert, dass wget das Richtige tut und die Datei anstelle des Interstitials abruft.

Verwenden Sie "Link freigeben", um den direkten Link zur Datei abzurufen.

 15
Author: Ryan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-06-23 14:34:05

Sah diese Frage und dachte, dies könnte jemandem helfen, der versucht, viele Dateien gleichzeitig herunterzuladen.

Hier ist ein kleines Windows CMD / Batch-Skript, das Sie verwenden können.
Es kann leicht angepasst werden, um unter einer Bash-Shell (Mac/Linux/etc) zu arbeiten.
Es verwendet CURL. WGET sollte auch mit einigen kleineren Anpassungen arbeiten..

  1. Installieren Sie Curl für Windows.
  2. Fügen Sie die einzelnen FREIGEGEBENEN Links in eine Textdatei ein (1 pro Zeile).
  3. Passen Sie alle "?dl=0" - parameter(s) in Ihrem textdatei zu"?dl=1", und speichern.
  4. Kopiere das Skript unten in eine Datei namens 'geturllist.cmd ' (oder Ihre Wahl)
  5. Öffnen Sie eine CMD-Eingabeaufforderung und führen Sie das CMD-Skript aus.

Heruntergeladene Dateien werden im aktuellen Arbeitsverzeichnis angezeigt, aus dem Sie das Skript ausgeführt haben.

HINWEIS:
Sie müssen ordnungsgemäß formatierte FREIGEGEBENE LINKS haben, die "Jeder mit dem Link" öffnen kann. Dieses Skript funktioniert NICHT mit passwortgeschützten Links oder Freigaben, die auf einer Dropbox basieren login/E-Mail.
HINWEIS:
Wenn die einzelne Datei oder Dateigruppe (automatisch gezippt) eine bestimmte Größe überschreitet, schlägt sie mit dem Fehler fehl ("Die (ZIP -) Datei ist zu groß. Bitte fügen Sie es Ihrer Dropbox hinzu."). In diesem Fall müssen Sie tun, was es sagt.. dieses Skript funktioniert nicht, da share Link nicht direkt heruntergeladen werden kann.

Beispiel Textdatei:
("RandomShareCharacters / Here" wird durch das ersetzt, was in share steht link)

 https://www.dropbox.com/sh/RandomShareCharacters/Here?dl=1
 https://www.dropbox.com/sh/RandomShareCharacters/Here?dl=1
 https://www.dropbox.com/sh/RandomShareCharacters/Here?dl=1

Geturllist.cmd:

@echo off
set count=0
setlocal ENABLEDELAYEDEXPANSION
IF [%1]==[] GOTO BLANK
SET PARAMETER=%1
SET _PARAMETER=%PARAMETER:~0,2%

IF [%1]==[/?] GOTO HELP
IF [%1]==[--help] GOTO HELP
IF %_PARAMETER%==-h GOTO HELP

IF EXIST %1 (

  for /f "delims=" %%u in (%1) do (

      set /a count=count+1
      curl -kL "%%u" -O -J

      REM For other share sites:
      REM (ZIP EXAMPLE) if no filename type header sent:
      REM > curl -kL "%%u" -o "!count!.zip"
      REM > echo "!count!.zip"
      REM Will download file(s) called 1.zip, 2.zip, etc.
      )
  ) ELSE (
GOTO BLANK
)
GOTO DONE

:HELP
ECHO.
ECHO    Usage:
ECHO.
ECHO    geturllist [path]\[filename]
ECHO.
ECHO.
ECHO    Required Parameters:
ECHO.
ECHO    [filename]  A text file with one url per line
ECHO    -h      Help
ECHO.
GOTO DONE

:BLANK
ECHO.
ECHO Error: no input file found

:HELPMSG
ECHO.
ECHO Try -h for Help

:DONE
ECHO.
ECHO Exiting.
ECHO.

Beispiel Verwendung:

geturllist.cmd X:\somepath\dropbox.txt

 3
Author: bshea,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2021-01-15 14:14:28

Die einfachste und sicherste Methode für diese Art von Downloads ist die Verwendung der Entwicklertools von Google Chrome.

  • Drücken Sie F12, um Developer Tools zu öffnen

  • {[7],} Gehe zur Registerkarte Netzwerk
  • Drücken Sie den download-link um den download zu starten

  • Finden Sie das Download-Ereignis in den Netzwerkereignissen

  • Klicken Sie mit der rechten Maustaste auf die Zeile und wählen Sie "Copy as cURL (bash)" oder windows, wenn Sie möchten

  • Die URL wird aussehen wie diese:

      curl "http://yoururl.com/yourfile" -H "Pragma: no-cache" -H "Origin: http://yoururl.com" -H "Accept-Encoding: gzip, deflate" -H "Accept: */*" -H "Cache-Control: max-age=0" -H "Referer: http://yoururl.com/downloadpage" -H "Cookie: e07214fb60a1a; _ga=98987; "
    
  • Ersetzen curl mit wget

  • Ersetzen -H "some headers" mit --header="some headers"

  • Hinzufügen -o parameter

  • Der neue Befehl sieht folgendermaßen aus:

      wget "http://yoururl.com/yourfile" --header="Pragma: no-cache" --header="Origin: http://yoururl.com" --header="Accept-Encoding: gzip, deflate" --header="Accept: */*" --header="Cache-Control: max-age=0" --header="Referer: http://yoururl.com/downloadpage" --header="Cookie: e07214fb60a1a; _ga=98987; " -o test.txt
    
  • Füge das in dein Bash-Fenster ein

  • Drücken Sie die Eingabetaste und genießen Sie Ihren Download.

 -1
Author: Hüseyin Yağlı,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2021-01-15 14:04:00