cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Announcements
Want to learn some quick and useful tips to make your day easier? Check out how Calvin uses Replay to get feedback from other teams at Dropbox here.

Dropbox API Support & Feedback

Find help with the Dropbox API from other developers.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Re: Programmatically download a shared file using C++ Curl

Programmatically download a shared file using C++ Curl

Makhlouf
Explorer | Level 3

Hi,

I developped an aplication in C++ that runs on Windows. I am trying to add a feauture in the program to download a shared file from my dropbox folder. I would like the downloading to go in background in similar way to windows API URLDownloadToFile(). The windows function downloads files from the web. But when I use the dropbox file link, the function downloads an html file instead of my file. I tried to use CURL library but got stuck with the access_token. I created an application access_token as described by Dropbox developper guide. When I use this access_token I receive authorization faliure error message. I wonder if the job I am trying to do is actually doable, and whether my approach is the right one. Where should I go or what should I do to get a shared file downloaded with my windows application. 

Thanks for your help

14 Replies 14

Makhlouf
Explorer | Level 3

Dear Здравко,

Yes, I tried it and got me same error (6) CURL_COUDNT_RESOLVE_HOST.

There is one observation to mention here.

If I comment the line: curl_easy_setopt (curl,CURLOPT_FOLLOWLOCATION,1) ; the function curl_easy_perform () returns 0 which means no error, but the file size is 0 bytes.

When I decomment the above line, curl_easy_perform () returns 6. and the file size is still 0 bytes.

 

Здравко
Legendary | Level 20

I can confirm that your code works using either "raw=1" or "dl=1" endings. Seems you have network issues. That's it. ( Of course could be done some improvements in the code, like detect and automatically save in corresponding file, accordingly named file for example :wink: )

Good luck!

Greg-DB
Dropbox Staff

@Makhlouf In case it helps with your the networking troubleshooting, note that the redirects to get to the file data when using 'raw=1' or 'dl=1' also go through other Dropbox domains that look like '*.dl.dropboxusercontent.com'.

Makhlouf
Explorer | Level 3
Dear Здравко, 1- Can you advise me where I can download a libcurl.dll file that should work for me. I need to make sure whether the issue source is the network or missing option in the library. 2- Also, I could not follow you regarding the improvement you suggested to my code. What do you mean by automatically save in corresponding file. Please explain more. Thanks a lot.

Здравко
Legendary | Level 20

Hi @Makhlouf,

All you need (including sourcing, binary and tutorials) is here: https://curl.haxx.se/

Again, Good luck!

ADD: As lib curl is a C library, but you are trying C++ coding, might be better take a look here: http://www.curlpp.org/ also.

Need more support?