$curl
Transfer data from or to a server using HTTP, HTTPS, FTP, and more.
curl [OPTIONS] [URL...]Try `curl` Live in Interactive Sandbox
Zero-install client simulation with real-time feedback.
Overview & How curl Works
`curl` (Client URL) is a universal command-line utility for transferring data across networks. It supports HTTP, HTTPS, FTP, SFTP, and REST API testing with custom headers, authentication, cookies, and proxy routing.
Common Flags & Command Options
| Flag / Option | Description |
|---|---|
| -I, --head | Fetch HTTP response headers only without downloading body. |
| -L, --location | Follow HTTP 301/302 redirects automatically. |
| -X, --request [METHOD] | Specify custom HTTP request method (GET, POST, PUT, DELETE). |
| -d, --data [data] | Send POST data payload in request body. |
| -H, --header [header] | Pass custom HTTP request header (e.g., "Authorization: Bearer token"). |
| -o [file] | Write output to file instead of stdout. |
Practical Real-World Examples
curl -I https://onlinelinuxterminal.comFetches HTTP status code, content-type, cache-control, and server headers.
curl -O https://example.com/archive.zipDownloads archive.zip preserving remote file name.
Frequently Asked Questions
How do you send a JSON POST request with curl?
Use `curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' https://api.example.com`.
Related Linux Commands
Non-interactive network downloader for HTTP, HTTPS, and FTP.
Send ICMP ECHO_REQUEST to network hosts to test connectivity and latency.
Print network connections, routing tables, interface statistics, and listening ports.
Securely log into remote Linux servers and execute commands over encrypted connections.
Securely copy files and directories between hosts over SSH connection.
Fast and versatile remote and local file-copying and synchronization tool.