When to use HTTP.jl vs Downloads standard lib

There are some issues with Downloads.jl and curl/libcurl and they are typically quite hard to debug.
The last one where I have been involved you can see in this thread: How to use Downloads.download() with SFTP? .
There have been others e.g. when you are behind a proxy. Another one, which I remember is, that libcurl ignores the .curlrc file, which is documented but still surprising, when you don’t know it.

The main problem is, that the issues I was aware of with Download and libcurl have been difficult to solve.

For the benefit of Julia (Download is also used with Pkg) it would be great to always use Download.jl and with that ironing out all issues which are still there.

But, if someone has a hard issue with using Download and it’s easily solved by using HTTP.jl and self handling of the protocols, well, why not?

1 Like