Curl Cheat Sheet - 快速参考指南,收录常用语法、命令与实践。
Curl is a tool for transferring data between servers, supporting protocols, including:
{.cols-3 .marker-none}
-o <file> # --output: write to file
-u user:pass # --user: authentication
-v # --verbose: Make curl verbose during operation
-vv # more verbose
-s # --silent: don't show progress meter or errors
-S # --show-error: When used with --silent (-sS), show errors but no progress meter
-i # --include: include HTTP headers in the output
-I # --head: header only
-X POST # --request
-L # If the page redirects, follow the link
-F # --form: HTTP POST data for multipart/form-data
# --data: HTTP post data
# URL encoding (eg, status="Hello")
-d 'data'
# --data pass file
-d @file
# --get: send -d data via get
-G
-A <str> # --user-agent
-b name=val # --cookie
-b, --cookie FILE # Load cookies from the specified file for the URL
-c, --cookie-jar FILE # Save cookies to the specified file from the URL
-H "X-Foo: y" # --header
--compressed # use deflate/gzip
--cacert <file>
--capath <dir>
-E, --cert <cert> # --cert: client certificate file
--cert-type # der/pem/eng
-k, --insecure # For self-signed certificates
apk add --update curl # install in alpine linux
| command | description |
|---|---|
curl -I https://cheatsheets.zip | curl sends a request |
curl -v -I https://cheatsheets.zip | curl request with details |
curl -X GET https://cheatsheets.zip | use explicit http method for curl |
curl --noproxy 127.0.0.1 http://www.stackoverflow.com | curl without http proxy |
curl --connect-timeout 10 -I -k https://cheatsheets.zip | curl has no timeout by default |
curl --verbose --header "Host: www.mytest.com:8182" cheatsheets.zip | curl get extra header |
curl -k -v https://www.google.com | curl get response with headers |
$ curl -v --include \
--form key1=value1 \
--form upload=@localfilename URL
$ curl -XGET http://${elasticsearch_ip}:9200/_cluster/nodes | python -m json.tool
| command | description |
|---|---|
curl -d "name=username&password=123456" <URL> | curl send request |
curl <URL> -H "content-type: application/json" -d "{ \"woof\": \"bark\"}" | curl sends json |
curl -sSL https://get.rvm.io | bash
| command | description |
|---|---|
curl -L -s http://ipecho.net/plain, curl -L -s http://whatismijnip.nl | get my public IP |
curl -u $username:$password http://repo.dennyzhang.com/README.txt | curl with credentials |
curl -v -F key1=value1 -F upload=@localfilename <URL> | curl upload |
curl -k -v --http2 https://www.google.com/ | use http2 curl |
curl -T cryptopp552.zip -u test:test ftp://10.32.99.187/ | curl ftp upload |
curl -u test:test ftp://10.32.99.187/cryptopp552.zip -o cryptopp552.zip | curl ftp download |
curl -v -u admin:admin123 --upload-file package1.zip http://mysever:8081/dir/package1.zip | upload with credentials curl |
curl -s -w \
'\nLookup time:\t%{time_namelookup}\nConnect time:\t%{time_connect}\nAppCon time:\t%{time_appconnect}\nRedirect time:\t%{time_redirect}\nPreXfer time:\t%{time_pretransfer }\nStartXfer time:\t%{time_starttransfer}\n\nTotal time:\t%{time_total}\n' \
-o /dev/null https://www.google.com
curl -o /dev/null --silent -Iw "%{http_code}" https://example.com/my.remote.tarball.gz
curl https://example.com | \
grep --only-matching 'src="[^"]*.[png]"' | \
cut -d \" -f2 | \
while read i; do curl https://example.com/"${i}" \
-o "${i##*/}"; done
Download all PNG files from the site (using GNU grep)
curl --remote-name "https://example.com/linux-distro.iso"
Rename file
curl --remote-name "http://example.com/index.html" --output foo.html
curl --remote-name --continue-at -"https://example.com/linux-distro.iso"
curl "https://www.{example,w3,iana}.org/index.html" --output "file_#1.html"
curl "https://{foo,bar}.com/file_[1-4].webp" --output "#1_#2.webp"
Download a series of files (output foo_file1.webp, foo_file2.webp...bar_file1_webp, etc.)
$ curl http://url/file > file
$ curl --user username:password http://example.com/
$ curl -u username:password http://example.com/
$ curl -o file http://url/file
$ curl --output file http://url/file
$ curl -I url
# display header information
$ curl -o file http://url/file
$ curl --output file http://url/file
$ curl -s http://url/myscript.sh
curl -K file
# read configuration from file
curl --config file
$HOME/.curlrc # default configuration file on UNIX-like systems
地址
Level 10b, 144 Edward Street, Brisbane CBD(Headquarter)Level 2, 171 La Trobe St, Melbourne VIC 3000四川省成都市武侯区桂溪街道天府大道中段500号D5东方希望天祥广场B座45A13号Business Hub, 155 Waymouth St, Adelaide SA 5000Disclaimer
JR Academy acknowledges Traditional Owners of Country throughout Australia and recognises the continuing connection to lands, waters and communities. We pay our respect to Aboriginal and Torres Strait Islander cultures; and to Elders past and present. Aboriginal and Torres Strait Islander peoples should be aware that this website may contain images or names of people who have since passed away.
匠人学院网站上的所有内容,包括课程材料、徽标和匠人学院网站上提供的信息,均受澳大利亚政府知识产权法的保护。严禁未经授权使用、销售、分发、复制或修改。违规行为可能会导致法律诉讼。通过访问我们的网站,您同意尊重我们的知识产权。 JR Academy Pty Ltd 保留所有权利,包括专利、商标和版权。任何侵权行为都将受到法律追究。查看用户协议
© 2017-2025 JR Academy Pty Ltd. All rights reserved.
ABN 26621887572