2025 11 10 Why I Use curl Instead of Postman: Learning HTTP by Feel
title: Why I Use curl Instead of Postman: Learning HTTP by Feel date: 2025-11-10 original_url: https://levelup.gitconnected.com/why-i-use-curl-instead-of-postman-learning-http-by-feel-2fd88ef90fb7?source=rss-e0d89d1af01d------2
Photo by Kelly :
https://www.pexels.com/photo/motor-bike-running-close-up-
photography-2519374/
Sometimes you don’t need another GUI. You need to touch the protocol. While everyone opens Postman tabs, I open my terminal and type:
curl -X POST http://127.0.0.1:8000/api/shorten \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}'
That’s it- raw, direct, and honest. No buttons, no noise. Just HTTP, right under your fingertips.
Learning Through the Fingertips
Typing the request yourself makes every part of HTTP visible.
- -X POST chooses the verb with intent
- -H sets the headers precisely
- -d sends the data explicitly
And when you hit enter, you see exactly what the server gives back:
{"short_url": "http://localhost:8000/000001"}
Every curl command teaches you the rhythm of request and response- the web’s real heartbeat.
Seeing the Protocol, Not the UI
When you use curl -v, the terminal becomes your microscope:
curl -v http://127.0.0.1:8000/api/000001
You see every move:
> GET /api/000001 HTTP/1.1
> Host: 127.0.0.1:8000
> User-Agent: curl/8.7.1
> Accept: */*
< HTTP/1.1 307 Temporary Redirect
< location: https://example.com/
The protocol becomes transparent. You understand what’s happening, not just that something happened.
Discovering More
The beauty of curl is in its depth.
You don’t have to memorize- you explore.
curl --help
curl --help all | less
Each flag opens a new door like:
- -I fetch headers only
- -L follow redirects automatically
- -o save output to a file
- -w “%{http_code}” show only the response code
- -s silent mode (no progress bar)
- -S show errors even when silent
- -k ignore SSL certificate checks
- -x http://proxy:8080 use a proxy
The official docs are an endless rabbit hole of discovery: https://curl.se/docs/manpage.html
If you don’t want to leave the terminal, you can explore everything from the CLI itself. Here are a few ways to learn curl directly through your shell:
# See all common options with short descriptions
curl --help
# See every possible flag and advanced usage
curl --help all | less
# Get a manual-style explanation (same as the website docs)
man curl
# Search inside the manual for a specific flag
man curl | grep timeout
# Quick reminder for a specific option
curl --help | grep -i header
This is the beauty of curl: the docs live right where you work. You don’t have to Google anything- the knowledge is built into the tool.
How curl Fits in Everyday Dev Life
curl is not just for testing APIs. It’s a daily development companion.
1. Health checks
curl -fsSL http://localhost:8000/health || echo "Service down"
2. Quick response code check
curl -s -o /dev/null -w "%{http_code}\n" http://localhost:8000
3. Debugging with headers
curl -v -X GET http://localhost:8000/api/items
curl -i http://localhost:8000/api/status
4. Testing authentication
curl -u admin:password http://localhost:8000/api/users
5. Sending JSON data
curl -X POST http://localhost:8000/api/shorten \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}'
6. Simulating different HTTP verbs
curl -X PUT http://localhost:8000/api/items/1 -d '{"name": "updated"}'
curl -X DELETE http://localhost:8000/api/items/1
7. Working inside Docker containers
docker exec -it tinyurl-app-fastapi-1 curl http://redis:6379
8. Testing redirects and caching
curl -L http://localhost:8000/short/123
curl -I http://localhost:8000/static/style.css
9. Monitoring endpoints continuously
watch -n 2 'curl -s -o /dev/null -w "%{http_code}" http://localhost:8000/health'
10. Downloading and uploading files
curl -O https://example.com/file.zip
curl -T myfile.txt ftp://ftp.example.com/ --user user:password
The Terminal Teaches Clarity
When you write requests in curl, you’re not hiding behind tools. You’re speaking to your server directly.
Each request is a sentence. Each flag is a verb. Each header is a whisper between client and server.
curl slows you down just enough to see what’s really happening. And once you see it, you never unsee it.
Feel the Protocol
curl is how you think in HTTP. It’s how you debug, learn, and build with precision. It’s that small command you reach for when nothing else feels right.
So the next time you open your terminal, type curl and listen. The protocol has been trying to talk to you all along.
Why I Use curl Instead of Postman: Learning HTTP by Feel was originally published in Level Up Coding on Medium, where people are continuing the conversation by highlighting and responding to this story.