Bird
Raised Fist0
Linux CLIscripting~5 mins

curl for HTTP requests in Linux CLI - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is curl used for in the command line?

curl is a tool to send and receive data from URLs using various protocols like HTTP. It helps you talk to websites or APIs from the terminal.

Click to reveal answer
beginner
How do you make a simple GET request to https://example.com using curl?

Use the command: curl https://example.com. This fetches the webpage content and shows it in the terminal.

Click to reveal answer
intermediate
What option do you use with curl to send data with a POST request?

Use -d or --data followed by the data string. For example: curl -d "name=John" https://example.com sends a POST request with data.

Click to reveal answer
beginner
How can you save the output of a curl request to a file?

Use the -o option followed by the filename. Example: curl https://example.com -o page.html saves the content to page.html.

Click to reveal answer
intermediate
What does the -I option do in curl?

The -I option fetches only the HTTP headers from the server, not the full content. Useful to check status or server info.

Click to reveal answer
Which curl command fetches only HTTP headers from a URL?
Acurl -X POST https://example.com
Bcurl -d https://example.com
Ccurl -I https://example.com
Dcurl -o https://example.com
How do you send form data "name=Anna" with a POST request using curl?
Acurl -d "name=Anna" https://example.com
Bcurl -X GET https://example.com
Ccurl -I https://example.com
Dcurl -o data.txt https://example.com
What does curl https://example.com -o file.html do?
ADeletes <code>file.html</code>
BSends a POST request
CFetches only headers
DSaves the webpage content to <code>file.html</code>
Which protocol is NOT supported by curl?
AHTTP
BSSH
CSMTP
DFTP
What is the default HTTP method used by curl if none is specified?
AGET
BPOST
CPUT
DDELETE
Explain how to use curl to send a POST request with data and save the response to a file.
Think about how to send data and where to put the response.
You got /4 concepts.
    Describe how to check only the HTTP headers of a website using curl and why this might be useful.
    Headers tell you about the server response without the full page.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the curl command primarily do in Linux?
      easy
      A. Monitor system processes
      B. Send HTTP requests to websites
      C. Manage file permissions
      D. Compile source code

      Solution

      1. Step 1: Understand the purpose of curl

        The curl command is designed to send HTTP requests and interact with web servers.
      2. Step 2: Compare with other options

        Compiling code, managing permissions, and monitoring processes are unrelated to curl's function.
      3. Final Answer:

        Send HTTP requests to websites -> Option B
      4. Quick Check:

        curl = HTTP requests [OK]
      Hint: curl is for web requests, not system tasks [OK]
      Common Mistakes:
      • Confusing curl with system commands like chmod or ps
      • Thinking curl compiles code
      • Assuming curl manages files locally
      2. Which of the following is the correct syntax to fetch the content of http://example.com using curl?
      easy
      A. curl http://example.com
      B. curl --head http://example.com
      C. curl -x http://example.com
      D. curl -d http://example.com

      Solution

      1. Step 1: Identify basic curl usage

        To fetch a webpage, simply use curl URL. No extra flags are needed for a simple GET request.
      2. Step 2: Analyze other options

        -x is for proxy, --head fetches headers only, -d sends data (POST), so they are incorrect for simple fetch.
      3. Final Answer:

        curl http://example.com -> Option A
      4. Quick Check:

        Basic fetch = curl URL [OK]
      Hint: Use curl followed by URL to fetch page [OK]
      Common Mistakes:
      • Using -x which is for proxy
      • Using -d which sends data instead of fetching
      • Using --head which fetches headers only
      3. What will be the output of this command?
      curl -I https://example.com
      medium
      A. An error because -I is invalid
      B. The full HTML content of the page
      C. Only the HTTP headers of the response
      D. The page content saved to a file

      Solution

      1. Step 1: Understand the -I option in curl

        The -I flag tells curl to fetch only the HTTP headers, not the full content.
      2. Step 2: Check other options

        The full HTML content of the page is full content, which -I does not do. An error because -I is invalid is wrong because -I is valid. The page content saved to a file requires -o flag, not present here.
      3. Final Answer:

        Only the HTTP headers of the response -> Option C
      4. Quick Check:

        -I = headers only [OK]
      Hint: Remember -I fetches headers only [OK]
      Common Mistakes:
      • Thinking -I fetches full page
      • Confusing -I with -o for output file
      • Assuming -I is invalid flag
      4. You want to send JSON data {"name":"John"} to http://api.example.com/users using curl. Which command has an error?
      medium
      A. curl -d '{name:John}' -X POST -H "Content-Type: application/json" http://api.example.com/users
      B. curl -X POST -H "Content-Type: application/json" -d '{"name":"John"}' http://api.example.com/users
      C. curl -d '{"name":"John"}' http://api.example.com/users -H "Content-Type: application/json" -X POST
      D. curl -X POST -d '{"name":"John"}' -H "Content-Type: application/json" http://api.example.com/users

      Solution

      1. Step 1: Check JSON data format

        curl -d '{name:John}' -X POST -H "Content-Type: application/json" http://api.example.com/users uses '{name:John}' which misses double quotes around keys and values, making it invalid JSON. Options A, C, D use correct JSON '{"name":"John"}'.
      2. Step 2: Confirm curl flags order

        Order of flags does not matter in curl, so A, C, D are valid. Only data format in B is wrong.
      3. Final Answer:

        curl -d '{name:John}' -X POST -H "Content-Type: application/json" http://api.example.com/users -> Option A
      4. Quick Check:

        JSON must have quotes [OK]
      Hint: JSON keys and values need quotes [OK]
      Common Mistakes:
      • Omitting quotes in JSON data
      • Thinking flag order matters in curl
      • Using wrong content-type header
      5. You want to download a file from http://example.com/file.zip and save it as myfile.zip. Which curl command does this correctly?
      hard
      A. curl --save myfile.zip http://example.com/file.zip
      B. curl -O http://example.com/file.zip > myfile.zip
      C. curl -O myfile.zip http://example.com/file.zip
      D. curl -o myfile.zip http://example.com/file.zip

      Solution

      1. Step 1: Understand curl file saving options

        -o filename saves the download to the specified filename. -O saves with original name from URL.
      2. Step 2: Analyze each option

        B: curl -O http://example.com/file.zip > myfile.zip saves to 'file.zip' via -O and redirects empty stdout to myfile.zip. C: curl -O myfile.zip http://example.com/file.zip uses -O incorrectly, treating myfile.zip as URL. D: uses invalid flag --save.
      3. Final Answer:

        curl -o myfile.zip http://example.com/file.zip -> Option D
      4. Quick Check:

        -o sets output filename [OK]
      Hint: Use -o to name downloaded file [OK]
      Common Mistakes:
      • Using > redirection for binary files
      • Confusing -O and -o flags
      • Using non-existent flags like --save
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard