Use curl to download a Dropbox folder via shared link (not public link)
It does appear to be possible with curl by using the -L
option. This forces curl to follow the redirect. Additionally, it is important to specify an output name with a .zip extension, as the default will be a random alpha-numeric name with no extension. Finally, do not forget to add the ?dl=1
to the end of the link. Without it, curl will never reach the redirect page.
curl -L -o newName.zip https://www.dropbox.com/sh/[folderLink]?dl=1
-
Follow redirects (use
-L
). Your immediate problem is that Curl is not following redirects. -
Set a filename. (Optional)
- Dropbox already sends a Content-Disposition Header with its Dropbox filename.
There is no reason to specify the filename if you use the correct curl flags.
- Conversely, you can force a filename using something of your choosing.
Use one of these commands:
curl https://www.dropbox.com/sh/AAbbCCEeFF123?dl=1 -O -J -L
Preserve/write the remote filename (-O
,-J
) and follows any redirects (-L
).
- This same line works for both individually shared files or entire folders.
- Folders will save as a
.zip
automatically (based on folder name). - Don't forget to change the parameter
?dl=0
to?dl=1
(see comments).
OR:
curl https://www.dropbox.com/sh/AAbbCCEeFF123?dl=1 -L -o [filename]
Follow any redirects (-L
) and set a filename (-o
) of your choosing.
NOTE: Using the -J
flag in general:
WARNING: Exercise judicious use of this option, especially on Windows. A rogue server could send you the name of a DLL or other file that could possibly be loaded automatically by Windows or some third party software.
Please consult: https://curl.haxx.se/docs/manpage.html#OPTIONS (See: -O, -J, -L, -o) for more.