curl
Command-line tool and library for transferring data with URLs over many protocols.
Liked for fetching web pages and APIs straight from the terminal,1234 for small shell scripts and automation,56 and for being the default tool already present on servers.7 The one caveat raised is that it cannot enforce Certificate Transparency checks.8
Why people recommend it
Terminal page fetching · 3
Used to pull pages as text or Markdown without a browser, JavaScript or CAPTCHAs.
“echo url="$x"|curl -K/dev/stdin”
“curl -A "" -Haccept:”
Show 1 more
“you can read it in terminal mode with: curl -H "Accept: text/markdown" [URL]”
Shell scripting · 2
A staple in small bash scripts and pipelines, including sending email via SMTP.
“For small stuff I use bash / sed / awk / jq / yq / curl etc.”
API debugging · 2
Preferred over Postman for quick API calls, often piped into jq.
“jq piped with curl for API debugging.”
“I curl to the server from the terminal.”
Ubiquity · 1
Commenters return to it from alternatives like HTTPie because it is already on remote servers.
“httpie for curl, just to always return to the default options”
AI agent use · 1
Its popularity means models use it reliably in agent skill files.
“The curl command is extremely popular so models seem to be really good at using it.”
Caveats and dissent
No CT checks · 1
It has no option to enforce Certificate Transparency, unlike major browsers.
“"Is it possible to enable CT checks in curl?" "No."”
Often compared with
Who recommends it in their own words
Threads where it came up
- eMudhra intermediate CA compromise 1 mention
- WPD won't replace stolen Flock cameras, citing public trust 1 mention
- Tell HN: Cloudflare silently injects its analytics when you switch nameservers 1 mention
- The 'Country Hicks' Who Refused $26M from an AI Data Center 1 mention
- TIME Is Serving AI Bots a Different Website, with Ads Built In 1 mention
- Modern email can be built from borrowed parts 1 mention
Data: curl.json. Quotes are verbatim; the verdict and theme labels are written by a model from these comments, and every clause links to its sources.
All comments 21
“"Is it possible to enable CT checks in curl?" "No."”
“curl -A "" -Haccept:”
“curl is more limited than the programs I use to generate HTTP, it's slower”
Alternative to (a) archive.is or (b) "gift link" (a) No risk of CAPTCHA or geoblocking, no <center>, etc. (b) No unique ID tracking, no connection to WSJ account No required headers except Host:, no cookies No Javascript, text-only HTTPS optional curl -A "" -Haccept: https://assets.msn.com/content/view/v2/Detail/en-in/AA2acUvZ \ |grep -o "<p.*</p>" \ |tr -d '\134' \ |sed '1s/^/<meta charset=utf-8>/' firefox ./1.htm #
“I used curl and set the User-agent, and I indeed got a markdown reply”
“you can read it in terminal mode with: curl -H "Accept: text/markdown" [URL]”
“I love curl.”
“For small stuff I use bash / sed / awk / jq / yq / curl etc.”
“I use wget or curl for few pages”
“The curl command is extremely popular so models seem to be really good at using it.”
“This is more flexible than curl. There are some things curl cannot do, even though it has too many options”
“curl https://www.lrb.co.uk/the-paper/v48/n09/john-lanchester/squillions”
“|curl -K/dev/stdin”
“|curl -H@/dev/stdin $url > 1.htm”
“echo url="$x"|curl -K/dev/stdin”
“I curl to the server from the terminal.”
“I still use curl sometimes”
“jq piped with curl for API debugging.”
“httpie for curl, just to always return to the default options”
“For example, curl prefers IPv6 addresses, and falls back to IPv4 if the v6 connection fails.”
“curl -K/dev/stdin -Agooglebot > 1.htm”