I want to download a file with curl and it doesn't work!
curl -O https://github.com/systems-cs-pub-ro/uso/raw/master/tema1/help/hello.o
This is the example that I saw on many official sites. They say that the command above downloads the file hello.o. It doesn't! It just downloads some kind of output and stores it in a file with the same name.
If I run the command above, and I print the content of hello.o, it says:
<html><body>You are being <a href="https://raw.githubusercontent.com/systems-cs-pub-ro/uso/master/tema1/help/hello.o">redirected</a>.</body></html>
The dimension of hello.o is 147 Bytes.
Also, if I type
wget https://github.com/systems-cs-pub-ro/uso/raw/master/tema1/help/hello.o
it downloads the file hello.o exactly how it is! Now, it's dimension is 1,2 K
Is there a way to download the file hello.o using curl, exactly how I can download it using wget?
Thank you respectfully.
With Curl, you need to use the -L flag like this:
curl -L https://github.com/systems-cs-pub-ro/uso/raw/master/tema1/help/hello.o > hello.o
From Curl's man page:
-L, --location (HTTP/HTTPS) If the server reports that the requested page has moved to a different location (indicated with a Location: header and a 3XX response code), this option will make curl redo the request on the new place. If used together with -i, --include or -I, --head, headers from all requested pages will be shown. When authentication is used, curl only sends its credentials to the initial host. If a redirect takes curl to a different host, it won't be able to intercept the user+password. See also --location-trusted on how to change this. You can limit the amount of redirects to follow by using the --max-redirs option. When curl follows a redirect and the request is not a plain GET (for example POST or PUT), it will do the following request with a GET if the HTTP response was 301, 302, or 303. If the response code was any other 3xx code, curl will re-send the following request using the same unmodified method.
Please be aware that your question has already been answered here: How do I download a tarball from GitHub using cURL?