{
    "version": "https://jsonfeed.org/version/1",
    "title": "Vault — Joie Llantero",
    "home_page_url": "https://sudojoie.com/vault",
    "description": "sudojoie Blog",
    "items": [
        {
            "id": "https://sudojoie.com/vault/curl-cheat-sheet",
            "content_html": "<p>A quick reference for <code>curl</code>,a command-line tool for transferring data with URLs. Supports HTTP, HTTPS, FTP, SFTP, and more.</p>\n<h2 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"anatomy-of-a-curl-command\">Anatomy of a curl command<a href=\"https://sudojoie.com/vault/curl-cheat-sheet#anatomy-of-a-curl-command\" class=\"hash-link\" aria-label=\"Direct link to Anatomy of a curl command\" title=\"Direct link to Anatomy of a curl command\" translate=\"no\">​</a></h2>\n<div class=\"language-shell codeBlockContainer_Ckt0 theme-code-block\" style=\"--prism-color:#bfc7d5;--prism-background-color:#292d3e\"><div class=\"codeBlockContent_QJqH\"><pre tabindex=\"0\" class=\"prism-code language-shell codeBlock_bY9V thin-scrollbar\" style=\"color:#bfc7d5;background-color:#292d3e\"><code class=\"codeBlockLines_e6Vv\"><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl [options] [URL]</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"> │</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"> ├── -X METHOD       HTTP method (GET, POST, PUT, PATCH, DELETE)</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"> ├── -H \"K: V\"       Request header</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"> ├── -d \"data\"       Request body</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"> ├── -o file         Save output to file</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"> ├── -O              Save with remote filename</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"> ├── -u user:pass    Basic auth</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"> ├── -b \"k=v\"        Send cookie</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"> ├── -c file         Save cookies to file</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"> ├── -L              Follow redirects</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"> ├── -I              HEAD request (headers only)</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"> ├── -s              Silent (no progress bar)</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"> ├── -v              Verbose (show request + response headers)</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"> ├── -k              Skip TLS certificate verification</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"> └── --max-time N    Timeout after N seconds</span><br></div></code></pre></div></div>\n<hr>\n<h2 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"http-requests\">HTTP Requests<a href=\"https://sudojoie.com/vault/curl-cheat-sheet#http-requests\" class=\"hash-link\" aria-label=\"Direct link to HTTP Requests\" title=\"Direct link to HTTP Requests\" translate=\"no\">​</a></h2>\n<div class=\"language-bash codeBlockContainer_Ckt0 theme-code-block\" style=\"--prism-color:#bfc7d5;--prism-background-color:#292d3e\"><div class=\"codeBlockContent_QJqH\"><pre tabindex=\"0\" class=\"prism-code language-bash codeBlock_bY9V thin-scrollbar\" style=\"color:#bfc7d5;background-color:#292d3e\"><code class=\"codeBlockLines_e6Vv\"><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># GET</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl https://example.com/api/users</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># POST with JSON body</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -X POST https://example.com/api/users \\</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">  -H \"Content-Type: application/json\" \\</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">  -d '{\"name\":\"joie\",\"role\":\"admin\"}'</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># POST form data</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -X POST https://example.com/login \\</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">  -d \"username=joie&amp;password=secret\"</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># PUT</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -X PUT https://example.com/api/users/1 \\</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">  -H \"Content-Type: application/json\" \\</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">  -d '{\"name\":\"joie updated\"}'</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># PATCH</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -X PATCH https://example.com/api/users/1 \\</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">  -H \"Content-Type: application/json\" \\</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">  -d '{\"role\":\"user\"}'</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># DELETE</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -X DELETE https://example.com/api/users/1</span><br></div></code></pre></div></div>\n<hr>\n<h2 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"headers--auth\">Headers &amp; Auth<a href=\"https://sudojoie.com/vault/curl-cheat-sheet#headers--auth\" class=\"hash-link\" aria-label=\"Direct link to Headers &amp; Auth\" title=\"Direct link to Headers &amp; Auth\" translate=\"no\">​</a></h2>\n<div class=\"language-bash codeBlockContainer_Ckt0 theme-code-block\" style=\"--prism-color:#bfc7d5;--prism-background-color:#292d3e\"><div class=\"codeBlockContent_QJqH\"><pre tabindex=\"0\" class=\"prism-code language-bash codeBlock_bY9V thin-scrollbar\" style=\"color:#bfc7d5;background-color:#292d3e\"><code class=\"codeBlockLines_e6Vv\"><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Custom header</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -H \"Authorization: Bearer TOKEN\" https://example.com/api</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Multiple headers</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -H \"Accept: application/json\" \\</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">     -H \"X-Request-ID: abc123\" \\</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">     https://example.com/api</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Basic auth</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -u username:password https://example.com/protected</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># API key in header</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -H \"X-API-Key: mykey123\" https://example.com/api</span><br></div></code></pre></div></div>\n<hr>\n<h2 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"file-upload--download\">File Upload / Download<a href=\"https://sudojoie.com/vault/curl-cheat-sheet#file-upload--download\" class=\"hash-link\" aria-label=\"Direct link to File Upload / Download\" title=\"Direct link to File Upload / Download\" translate=\"no\">​</a></h2>\n<div class=\"language-bash codeBlockContainer_Ckt0 theme-code-block\" style=\"--prism-color:#bfc7d5;--prism-background-color:#292d3e\"><div class=\"codeBlockContent_QJqH\"><pre tabindex=\"0\" class=\"prism-code language-bash codeBlock_bY9V thin-scrollbar\" style=\"color:#bfc7d5;background-color:#292d3e\"><code class=\"codeBlockLines_e6Vv\"><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Download a file (save with remote name)</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -O https://example.com/file.tar.gz</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Download and rename</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -o myfile.tar.gz https://example.com/file.tar.gz</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Resume interrupted download</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -C - -O https://example.com/largefile.tar.gz</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Upload a file (multipart form)</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -X POST https://example.com/upload \\</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">  -F \"file=@/path/to/file.txt\"</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Upload raw binary</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -X PUT https://example.com/upload \\</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">  --data-binary @/path/to/image.png</span><br></div></code></pre></div></div>\n<hr>\n<h2 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"tls--certificates\">TLS / Certificates<a href=\"https://sudojoie.com/vault/curl-cheat-sheet#tls--certificates\" class=\"hash-link\" aria-label=\"Direct link to TLS / Certificates\" title=\"Direct link to TLS / Certificates\" translate=\"no\">​</a></h2>\n<div class=\"language-bash codeBlockContainer_Ckt0 theme-code-block\" style=\"--prism-color:#bfc7d5;--prism-background-color:#292d3e\"><div class=\"codeBlockContent_QJqH\"><pre tabindex=\"0\" class=\"prism-code language-bash codeBlock_bY9V thin-scrollbar\" style=\"color:#bfc7d5;background-color:#292d3e\"><code class=\"codeBlockLines_e6Vv\"><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Skip certificate verification (insecure)</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -k https://self-signed.example.com</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Specify CA cert</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl --cacert /path/to/ca.crt https://example.com</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Client certificate + key</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl --cert client.crt --key client.key https://example.com</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Show certificate info only</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -v --head https://example.com 2&gt;&amp;1 | grep -A5 \"certificate\"</span><br></div></code></pre></div></div>\n<hr>\n<h2 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"cookies\">Cookies<a href=\"https://sudojoie.com/vault/curl-cheat-sheet#cookies\" class=\"hash-link\" aria-label=\"Direct link to Cookies\" title=\"Direct link to Cookies\" translate=\"no\">​</a></h2>\n<div class=\"language-bash codeBlockContainer_Ckt0 theme-code-block\" style=\"--prism-color:#bfc7d5;--prism-background-color:#292d3e\"><div class=\"codeBlockContent_QJqH\"><pre tabindex=\"0\" class=\"prism-code language-bash codeBlock_bY9V thin-scrollbar\" style=\"color:#bfc7d5;background-color:#292d3e\"><code class=\"codeBlockLines_e6Vv\"><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Send a cookie</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -b \"session=abc123\" https://example.com</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Save cookies from response</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -c cookies.txt https://example.com/login \\</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">  -d \"username=joie&amp;password=secret\"</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Replay saved cookies</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -b cookies.txt https://example.com/dashboard</span><br></div></code></pre></div></div>\n<hr>\n<h2 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"debugging--inspection\">Debugging &amp; Inspection<a href=\"https://sudojoie.com/vault/curl-cheat-sheet#debugging--inspection\" class=\"hash-link\" aria-label=\"Direct link to Debugging &amp; Inspection\" title=\"Direct link to Debugging &amp; Inspection\" translate=\"no\">​</a></h2>\n<div class=\"language-bash codeBlockContainer_Ckt0 theme-code-block\" style=\"--prism-color:#bfc7d5;--prism-background-color:#292d3e\"><div class=\"codeBlockContent_QJqH\"><pre tabindex=\"0\" class=\"prism-code language-bash codeBlock_bY9V thin-scrollbar\" style=\"color:#bfc7d5;background-color:#292d3e\"><code class=\"codeBlockLines_e6Vv\"><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Show response headers only (HEAD)</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -I https://example.com</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Show request + response headers</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -v https://example.com</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Show only status code</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -o /dev/null -s -w \"%{http_code}\" https://example.com</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Show timing breakdown</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -o /dev/null -s -w \\</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">  \"dns:%{time_namelookup}s  connect:%{time_connect}s  ttfb:%{time_starttransfer}s  total:%{time_total}s\\n\" \\</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">  https://example.com</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Trace all data (very verbose)</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl --trace - https://example.com</span><br></div></code></pre></div></div>\n<hr>\n<h2 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"proxy\">Proxy<a href=\"https://sudojoie.com/vault/curl-cheat-sheet#proxy\" class=\"hash-link\" aria-label=\"Direct link to Proxy\" title=\"Direct link to Proxy\" translate=\"no\">​</a></h2>\n<div class=\"language-bash codeBlockContainer_Ckt0 theme-code-block\" style=\"--prism-color:#bfc7d5;--prism-background-color:#292d3e\"><div class=\"codeBlockContent_QJqH\"><pre tabindex=\"0\" class=\"prism-code language-bash codeBlock_bY9V thin-scrollbar\" style=\"color:#bfc7d5;background-color:#292d3e\"><code class=\"codeBlockLines_e6Vv\"><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Route through HTTP proxy</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -x http://proxy.example.com:8080 https://target.com</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Proxy with auth</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -x http://proxy.example.com:8080 \\</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">  -U proxyuser:proxypass \\</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">  https://target.com</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># SOCKS5 proxy (e.g. Tor)</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl --socks5 127.0.0.1:9050 https://check.torproject.org</span><br></div></code></pre></div></div>\n<hr>\n<h2 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"useful-combinations\">Useful Combinations<a href=\"https://sudojoie.com/vault/curl-cheat-sheet#useful-combinations\" class=\"hash-link\" aria-label=\"Direct link to Useful Combinations\" title=\"Direct link to Useful Combinations\" translate=\"no\">​</a></h2>\n<div class=\"language-bash codeBlockContainer_Ckt0 theme-code-block\" style=\"--prism-color:#bfc7d5;--prism-background-color:#292d3e\"><div class=\"codeBlockContent_QJqH\"><pre tabindex=\"0\" class=\"prism-code language-bash codeBlock_bY9V thin-scrollbar\" style=\"color:#bfc7d5;background-color:#292d3e\"><code class=\"codeBlockLines_e6Vv\"><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Pretty-print JSON response</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -s https://api.example.com/data | python3 -m json.tool</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Follow redirects + show final URL</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl -Ls -o /dev/null -w \"%{url_effective}\" https://t.co/shortlink</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Rate-limit download speed</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl --limit-rate 500k -O https://example.com/bigfile.zip</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Retry on failure</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl --retry 3 --retry-delay 2 https://example.com/api</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\" style=\"display:inline-block\"></span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\"># Send request with timeout</span><br></div><div class=\"token-line\" style=\"color:#bfc7d5\"><span class=\"token plain\">curl --max-time 10 https://example.com/api</span><br></div></code></pre></div></div>\n<hr>\n<h2 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"quick-reference-card\">Quick Reference Card<a href=\"https://sudojoie.com/vault/curl-cheat-sheet#quick-reference-card\" class=\"hash-link\" aria-label=\"Direct link to Quick Reference Card\" title=\"Direct link to Quick Reference Card\" translate=\"no\">​</a></h2>\n<table><thead><tr><th>Flag</th><th>Meaning</th></tr></thead><tbody><tr><td><code>-X METHOD</code></td><td>Set HTTP method</td></tr><tr><td><code>-H \"K: V\"</code></td><td>Add request header</td></tr><tr><td><code>-d \"data\"</code></td><td>Send request body</td></tr><tr><td><code>-F \"k=@file\"</code></td><td>Multipart file upload</td></tr><tr><td><code>-o file</code></td><td>Save output to named file</td></tr><tr><td><code>-O</code></td><td>Save with server filename</td></tr><tr><td><code>-C -</code></td><td>Resume download</td></tr><tr><td><code>-L</code></td><td>Follow redirects</td></tr><tr><td><code>-I</code></td><td>HEAD (headers only)</td></tr><tr><td><code>-v</code></td><td>Verbose output</td></tr><tr><td><code>-s</code></td><td>Silent mode</td></tr><tr><td><code>-k</code></td><td>Ignore TLS errors</td></tr><tr><td><code>-u user:pass</code></td><td>Basic authentication</td></tr><tr><td><code>-b \"k=v\"</code></td><td>Send cookie</td></tr><tr><td><code>-c file</code></td><td>Save cookies</td></tr><tr><td><code>-x proxy</code></td><td>Use proxy</td></tr><tr><td><code>--retry N</code></td><td>Retry on failure</td></tr><tr><td><code>--max-time N</code></td><td>Global timeout (seconds)</td></tr><tr><td><code>--limit-rate N</code></td><td>Cap transfer speed</td></tr></tbody></table>",
            "url": "https://sudojoie.com/vault/curl-cheat-sheet",
            "title": "Curl Cheat Sheet",
            "summary": "A quick reference for using `curl`.",
            "date_modified": "2026-04-24T00:00:00.000Z",
            "author": {
                "name": "Joie Llantero",
                "url": "https://github.com/joiellantero"
            },
            "tags": [
                "Cmdline"
            ]
        },
        {
            "id": "https://sudojoie.com/vault/welcome-to-the-vault",
            "content_html": "<p>The vault is a place for things that don't quite fit a blog post--quick notes, references, checklists, and writeups I want to keep somewhere findable.</p>\n<p>Not everything here will be polished. Some entries will be raw notes. Others will be more complete. Think of it as a personal wiki that's open to read.</p>",
            "url": "https://sudojoie.com/vault/welcome-to-the-vault",
            "title": "Welcome to the Vault",
            "summary": "What the vault is and how I plan to use it.",
            "date_modified": "2026-04-24T00:00:00.000Z",
            "author": {
                "name": "Joie Llantero",
                "url": "https://github.com/joiellantero"
            },
            "tags": [
                "Meta"
            ]
        }
    ]
}