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.
How to download a file with curl command. The basic syntax: Grab file with curl run: $ curl https://your-domain/file.pdf. Get file using ftp or sftp protocol: $ curl ftp://ftp-your-domain-name/file.tar.gz.
We might have come across errors like “curl: command not found” while working in the terminal. This type of error comes due to only one reason: the relevant package is not installed. Curl is a very popular data transfer command-line utility used for downloading and uploading data from or to the server.
To download you just need to use the basic curl command but add your username and password like this curl --user username:password -o filename. tar. gz ftp://domain.com/directory/filename.tar.gz . To upload you need to use both the –user option and the -T option as follows.
For those of you want to copy the cURL output in the clipboard instead of outputting to a file, you can use pbcopy by using the pipe | after the cURL command. Example: curl https://www.google.com/robots.txt | pbcopy . This will copy all the content from the given URL to your clipboard.
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?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With