Difference between revisions of "CURL"
Jump to navigation
Jump to search
↑ http://man7.org/linux/man-pages/man1/curl.1.html
↑ https://docs.gitlab.com/ee/api/notification_settings.html#global-notification-settings
↑ https://stackoverflow.com/questions/3252851/how-to-display-request-headers-with-command-line-curl
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{lowercase title}} | {{lowercase title}} | ||
− | [[wikipedia:CURL | + | [[wikipedia:CURL|cURL]] ([[1996]]) <ref>http://man7.org/linux/man-pages/man1/curl.1.html</ref> 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]] | [[brew install curl]] | ||
Line 23: | Line 23: | ||
* <code>[[curl -Is]] https://yourdomain.com/ | head -1</code> | * <code>[[curl -Is]] https://yourdomain.com/ | head -1</code> | ||
− | * -m, [[--max-time]] | + | * <code>-m, [[--max-time]]</code> |
+ | * <code>[[curl --compressed]]</code> | ||
* Upload a file: | * Upload a file: | ||
Line 36: | Line 37: | ||
* <code>curl -XDELETE localhost:[[9200]]/index/type/documentID (Invoke-WebRequest -method DELETE http://localhost:9200/_all)</code> | * <code>curl -XDELETE localhost:[[9200]]/index/type/documentID (Invoke-WebRequest -method DELETE http://localhost:9200/_all)</code> | ||
+ | |||
+ | |||
+ | * <code>curl --silent https://status.[[nuki.io]]/en/ 2>&1 | grep -i outage</code> | ||
Offers the same features to fetch remote banner information from HTTP servers: | Offers the same features to fetch remote banner information from HTTP servers: | ||
− | <code> curl -s -I 192.168.0.15 | grep -e "Server: "</code> | + | <code> [[curl -s -I]] 192.168.0.15 | grep -e "Server: "</code> |
Other options: | Other options: | ||
Line 54: | Line 58: | ||
* <code>[[CURL Error (7): couldn't connect to host]]</code> | * <code>[[CURL Error (7): couldn't connect to host]]</code> | ||
* <code>[[curl: (35) OpenSSL SSL connect: SSL ERROR SYSCALL in connection to]]</code> | * <code>[[curl: (35) OpenSSL SSL connect: SSL ERROR SYSCALL in connection to]]</code> | ||
+ | * <code>[[curl: (47) Maximum (50) redirects followed]]</code> | ||
== Related terms == | == Related terms == | ||
Line 62: | Line 67: | ||
* [[Scraping]] | * [[Scraping]] | ||
* <code>[[get_url]]</code> [[ansible]] | * <code>[[get_url]]</code> [[ansible]] | ||
− | * [[kubectl run -it --rm]] test --image=[[curlimages/curl]] --restart=Never [[--]] [[/bin/sh]] | + | * <code>[[kubectl run -it --rm]] test --image=[[curlimages/curl]] --restart=Never [[--]] [[/bin/sh]]</code> |
+ | * <code>[[pv]]</code> | ||
+ | * <code>[[cast rpc]]</code> | ||
== See also == | == See also == |
Latest revision as of 12:30, 19 November 2024
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[edit]
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)
curl --silent https://status.nuki.io/en/ 2>&1 | grep -i outage
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[edit]
- 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[edit]
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[edit]
- JSON
opensearch-cli curl
- Elasticsearch curl URLs
- Python requests library
- Scraping
get_url
ansiblekubectl run -it --rm test --image=curlimages/curl --restart=Never -- /bin/sh
pv
cast rpc
See also[edit]
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: