cURL
cURL (1996) [1] is a command-line tool for getting or sending data including files using URL syntax. cURL supports a range of common network protocols, currently including HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, DAP, DICT, TELNET, FILE, IMAP, POP3, SMTP and RTSP.
brew install curl apt install curl
Examples
curl --help
curl -vvv https://google.com
curl --insecure https://yourdomain.com
curl https://google.com/file_to_download -o output_file_name
curl -sS https://google.com
-s --silent Avoid showing progress bar
-S --show-error
-L, --location follow redirects
curl -u YOUR_USERNAME:YOUR_PASSWORD https://yourpasswordprotectedpage.com/
- Save your cookies and reuse them:
curl --user user:pass --cookie-jar ./somefile_with_your_cookies https://xyz.com/a
curl --cookie ./omefile_with_your_cookiese https://xyz.com/b
curl --header 'X-JFrog-Art-Api: 1234567890'
curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/notification_settings
[2]curl -Is https://yourdomain.com/ | head -1
- Upload a file:
curl -u YOUR_USERNAME:YOUR_PASSWORD -T FILE_TO_UPLOAD https://yourpasswordprotectedpage.com/your_destionation
-T, --upload-file <file>
curl -sD - -o /dev/null http://example.com
[3]- -s Avoid showing progress bar
- -D Dump headers to a file, but - sends it to stdout
- -o /dev/null Ignore response body
curl -XDELETE localhost:9200/index/type/documentID (Invoke-WebRequest -method DELETE http://localhost:9200/_all)
Offers the same features to fetch remote banner information from HTTP servers:
curl -s -I 192.168.0.15 | grep -e "Server: "
Other options:
-k, --insecure To accept self signed certificate -L, --location
Advance usage
- Use cURL to measure request and response times: https://stackoverflow.com/a/22625150
curl -o /dev/null -s -w 'Total: %{time_total}s\n' https://www.google.com
Errors
curl: (52) Empty reply from server
CURL Error (7): couldn't connect to host
curl: (35) OpenSSL SSL connect: SSL ERROR SYSCALL in connection to
curl: (47) Maximum (50) redirects followed
Related terms
- JSON
opensearch-cli curl
- Elasticsearch curl URLs
- Python requests library
- Scraping
get_url
ansible- kubectl run -it --rm test --image=curlimages/curl --restart=Never -- /bin/sh
- pv
See also
wget
,cURL
,links
,lynx
,elinks
,w3m
,httpie, opensearch-cli curl
,--no-check-certificate, wget --help
telnet
,netcat, nc, nc -l
,ncat
,socat, ngrok
iwr
(Invoke-WebRequest) PowerShell functionality- lynx, links (browser), lynx (browser), Elinks (browser) command line browsers
Advertising: