7 Curl Commands That Every Developer Should Know!

Prinux
3 min readFeb 26, 2022

--

What is a curl command

Curl is a command line tool used to transfer data to and from the servers, using the supported protocols (HTTP, FTP, IMAP, POP3, SCP, SFTP, SMTP, TFTP, TELNET, LDAP, or FILE).It is available on windows , MacOs and Linux.

Uses of curl

  • for downloading web images
  • for downloading web pages
  • for authentication
  • SSL connections
  • FTP uplaods
  • To test the output of an API
    and more

Syntax

curl [options][URL..]

Common Options

  • -o for saving the data in specific file
  • -c for resuming interrupted Downloads
  • -O for downloading multiple url’s (seperated with space)
  • -l for viewing the HTTP header’s information
  • -I for fetching only the header information
  • -v for viewing the entire TLS handshake
  • -k for ignoring invalid or self-signed certificates
  • -C for resuming the file transfer
  • -f for failing silently

Warning

Always mention the protocol before running the command

Examples

  1. Requesting A Page:

For viewing the source code of a web page , similar to page source option in a browser. If no protocols are mention it defaults to HTTP

curl google.com

2. For Downloading Contents Of A Web Page:

There are two options available to download and save a file

curl -o google.txt https://google.com
# -o is the option used for saving the output, filename is # google.txt (file extension can be changed)
curl https://google.com > google.txt
# > is used for saving the output in a file

3. Ignore invalid or self-signed certificates:

When we are testing API endpoints, it is running on your testing instance, hence you might have a self-signed certificate or an invalid one. By using -k, we don’t allow curl to verify the validity of the certificate and establish an insecure connection for testing.

curl -k https://localhost/my_apitest

4. API Authentication

Most of the API does require user authentication. For authentication we can use -u for specifying the username and curl prompts for password.

curl -u <user:password> https://my-test-api.com/endpoint

5. For Resuming The File Transfer

Using -C for telling the curl to automatically find out where and how to
resume the file transfer. It then uses the given output or input files
to figure that out.

curl -C - https://example.com

6. Failing Silently

f, is used for failing silently(no output) on server errors, this is mostly done on scripts to better deal with failed attempts. In normal cases when an HTTP server fails to deliver adocument, it returns an HTML document stating so (which often also describes why and more). This flag will prevent curl from outputting that and return error 22.

curl --fail https://example.com

7. Fetching The Headers

We use -I for fetching the headers of HTTP servers . When used on an FTP or FILE file, curl displays the file size and last modification time only.

curl -I https://example.com

Bonus Tip:

Sharing Files via curl:- open your terminal type the first command below and after few seconds you will receive a link . share the link to the person you wish to send the file, they can open it in their browser and download it.

curl -F "file=@Lava.jpg" 0x0.st
#Lava.jpg file name, must be in the current directory
http://0x0.st/oZ2_.jpg

For learning more about curl run these commands in the shell

curl --help
man curl
visit:https://curl.se/

Your Support

If you like this blog , please don’t forget to give a clap . if you want to learn more about privacy,security,technology and Linux, consider following me. Plus, whatever I find interesting and valuable. Support me by https://www.buymeacoffee.com/prinux ☕️

--

--

Prinux

I Am Linux Enthusiast , Privacy Advocate , Self Taught Programmer, plus a coffee addict. Follow me to learn more about privacy, linux and technology.