CURLIE(1)

πŸ“¦ version 1.8.2, in ubuntu stonking

✨ CURLIE(1) ✨

User Commands Β· the curlie manual page Β· bestie edition πŸŽ€


🌸 NAME 🌸

curlie β€” curl frontend with httpie-like interface and JSON formatting

Like, it's curl but it understood ✨aesthetics✨? Obsessed.


πŸ¦‹ SYNOPSIS πŸ¦‹

curlie [CURL_OPTIONS...] [METHOD] URL [ITEM [ITEM...]]

πŸ’– DESCRIPTION πŸ’–

okay so. curlie is a frontend to curl(1) that combines the power and ubiquity of curl with the ease of use and human-friendly interface of httpie(1). Every single curl option is exposed, no compromise on features, no compromise on performance β€” but with syntax sugar and output formatting inspired by httpie on top. it's giving glow-up, fr fr. πŸ’…

When you run it interactively, curlie gives you pretty-printed, colorized JSON output. Headers go to stderr and the body goes to stdout, so it plays nice with pipes and redirects. and the output is not buffered β€” all the formatting happens on the fly, which means you can inspect streamed data as it arrives. main character behavior honestly. 🫢

ngl, the headers-to-stderr thing is the kind of detail that just works with your shell scripts. iykyk.

πŸ‘‘ OPTIONS πŸ‘‘

πŸ” Authentication

  • --anyauth β€” pick any authentication method. dealer's choice, bestie ✨
  • --aws-sigv4 provider1[:prvdr2[:reg[:srv]]] β€” use AWS V4 signature authentication.
  • --basic β€” use HTTP Basic Authentication.
  • --digest β€” use HTTP Digest Authentication.
  • --negotiate β€” use HTTP Negotiate (SPNEGO) authentication.
  • -n, --netrc β€” read username and password from .netrc.
  • --netrc-file filename β€” specify FILE for netrc.
  • --netrc-optional β€” use either .netrc or URL.
  • --ntlm β€” use HTTP NTLM authentication.
  • --oauth2-bearer token β€” specify OAuth 2 Bearer Token.
  • -u, --user user:password β€” set server user and password.

🧚 TLS / SSL

  • --ca-native β€” load CA certs from the OS.
  • --cacert file β€” CA certificate to verify peer against.
  • --capath dir β€” CA directory to verify peer against.
  • -E, --cert certificate[:password] β€” client certificate file and password.
  • --cert-status β€” verify server certificate status via OCSP stapling.
  • --cert-type type β€” certificate type (DER/PEM/ENG/PROV/P12).
  • --ciphers list β€” TLS 1.2 (and earlier) ciphers to use.
  • -k, --insecure β€” allow insecure server connections.
  • --key key β€” private key filename.
  • --key-type type β€” private key file type (DER/PEM/ENG).
  • --ssl β€” try enabling TLS.
  • --ssl-reqd β€” require SSL/TLS.
  • -1, --tlsv1 β€” use TLSv1.0 or greater.
  • --tlsv1.0 β€” use TLSv1.0 or greater.
  • --tlsv1.1 β€” use TLSv1.1 or greater.
  • --tlsv1.2 β€” use TLSv1.2 or greater.
  • --tlsv1.3 β€” use TLSv1.3 or greater.
  • --tls-max VERSION β€” set the maximum allowed TLS version.
  • --tls13-ciphers list β€” TLS 1.3 cipher suites to use.
bestie pls do not casually -k/--insecure on anything that matters. it's literally insecure. πŸ”₯

πŸ’œ HTTP Request

  • -d, --data data β€” send HTTP POST data.
  • --data-ascii data β€” send HTTP POST ASCII data.
  • --data-binary data β€” send HTTP POST binary data.
  • --data-raw data β€” send HTTP POST data, '@' allowed.
  • --data-urlencode data β€” send HTTP POST data URL encoded.
  • -F, --form name=content β€” specify multipart MIME data.
  • --form-string name=string β€” specify multipart MIME data as string.
  • -G, --get β€” put post data in the URL and use GET.
  • -H, --header header/@file β€” pass custom header(s) to server.
  • -I, --head β€” show document info only (HEAD request).
  • --http1.0 β€” use HTTP/1.0.
  • --http1.1 β€” use HTTP/1.1.
  • --http2 β€” use HTTP/2.
  • --http3 β€” use HTTP/3.
  • --json data β€” send HTTP POST JSON data.
  • -X, --request method β€” specify the request method to use.
  • -A, --user-agent name β€” send User-Agent to server.

🌈 HTTP Response

  • --compressed β€” request a compressed response.
  • -D, --dump-header filename β€” write the received headers to a file.
  • -f, --fail β€” fail fast with no output on HTTP errors.
  • --fail-with-body β€” fail on HTTP errors but save the body.
  • -L, --location β€” follow redirects.
  • --max-redirs num β€” set the maximum number of redirects allowed.
  • -i, --show-headers β€” show response headers in output.

πŸŽ€ Output

  • --curl β€” print the underlying curl command being executed.
  • -o, --output file β€” write output to file instead of stdout.
  • --output-dir dir β€” directory to save files in.
  • --pretty β€” force pretty-printed output.
  • -#, --progress-bar β€” display transfer progress as a bar.
  • -s, --silent β€” silent mode.
  • -v, --verbose β€” make the operation more talkative.
  • -w, --write-out format β€” output FORMAT after completion.

πŸ¦‹ Connection

  • --connect-timeout seconds β€” maximum time allowed to connect.
  • --connect-to HOST1:PORT1:HOST2:PORT2 β€” connect to host2 instead of host1.
  • --dns-servers addresses β€” DNS server addresses to use.
  • --doh-url URL β€” resolve hostnames over DNS-over-HTTPS.
  • -4, --ipv4 β€” resolve names to IPv4 addresses only.
  • -6, --ipv6 β€” resolve names to IPv6 addresses only.
  • -m, --max-time seconds β€” maximum time allowed for the transfer.
  • --no-keepalive β€” disable TCP keepalive on the connection.
  • --resolve [+]host:port:addr[,addr]... β€” resolve host+port to a specific address.
  • --retry num β€” retry request if transient problems occur.
  • --tcp-fastopen β€” use TCP Fast Open.
  • --unix-socket path β€” connect through this Unix domain socket.

🌸 Proxy

  • -x, --proxy [protocol://]host[:port] β€” use this proxy.
  • -U, --proxy-user user:password β€” set proxy user and password.
  • -p, --proxytunnel β€” use HTTP proxy tunnel (via CONNECT).
  • --socks4 host[:port] β€” use SOCKS4 proxy on given host and port.
  • --socks5 host[:port] β€” use SOCKS5 proxy on given host and port.

⭐ Transfer

  • -C, --continue-at offset β€” resume transfer at given offset.
  • --limit-rate speed β€” limit transfer speed to RATE.
  • -O, --remote-name β€” write output to file named as remote file.
  • -T, --upload-file file β€” transfer local FILE to destination.
  • -Z, --parallel β€” perform transfers in parallel.
  • --parallel-max num β€” maximum concurrency for parallel transfers.

πŸ“ Cookies

  • -b, --cookie data|filename β€” send cookies from string or load from file.
  • -c, --cookie-jar filename β€” save cookies to file after operation.
  • -j, --junk-session-cookies β€” ignore session cookies read from file.

πŸ™ˆ Miscellaneous

  • -K, --config file β€” read configuration from a file.
  • -q, --disable β€” disable .curlrc.
  • -h, --help subject β€” get help for commands.
  • -M, --manual β€” display the full manual.
  • -V, --version β€” show version number and quit.

πŸ”₯ EXAMPLES πŸ”₯

Simple GET request with pretty-printed JSON response:

curlie https://httpbin.org/get

POST request with JSON data using key=value syntax:

curlie POST https://httpbin.org/post name=debian version=1

PUT request with a custom header and JSON body:

curlie PUT https://httpbin.org/put X-Token:secret name=curlie

Send raw JSON data:

curlie POST https://httpbin.org/post --json '{"key":"value"}'

HEAD request to inspect response headers only:

curlie -I https://httpbin.org/get

Follow redirects and show response headers:

curlie -L -i https://httpbin.org/redirect/1

Use Basic Authentication:

curlie --basic -u user:password https://httpbin.org/basic-auth/user/password

Print the underlying curl command without executing:

curlie --curl POST https://httpbin.org/post name=test

Download a file saving it with the remote filename:

curlie -O https://example.com/file.tar.gz

Send a request through a SOCKS5 proxy:

curlie --socks5 localhost:1080 https://httpbin.org/get

πŸ’€ SEE ALSO πŸ’€

curl(1), httpie(1), wget(1)

the holy trinity, honestly. go read them too, bestie. 🫢


πŸ’… AUTHOR πŸ’…

Olivier Poitrey <rs@dailymotion.com>

This manual page was written for the Debian project by Josenilson Ferreira da Silva <nilsonfsilva@hotmail.com>.


and that's the whole page babes ✨ β€” curlie, manual page dated 2025-12-07, page id CURLIE(1), straight from the User Commands section. slay, have fun curling, and remember: headers to stderr, body to stdout, no buffering, no problems. periodt. πŸ’–

πŸ“¦ where this page comes from