Karatasi ya Marejeleo ya cURL
Marejeleo ya curl yanayoweza kutafutwa na kuchapishwa — mbinu za HTTP, vichwa, data na fomu, uthibitishaji, vipakuliwa, cookies, TLS, proksi na utatuzi. Bila malipo.
Basics
12curl https://api.example.com
curl -o page.html https://example.com
curl -O https://example.com/file.zip
curl -i https://example.com
curl -I https://example.com
curl -v https://example.com
curl -s https://example.com
curl -sS https://example.com
curl -L https://example.com
curl https://a.com https://b.com
curl 'https://x.com/p?[1-5]'
curl --version
HTTP methods
9curl -X GET https://api.example.com
curl -X POST https://api.example.com
curl -X PUT https://api.example.com/1
curl -X PATCH https://api.example.com/1
curl -X DELETE https://api.example.com/1
curl -I https://api.example.com
curl -X OPTIONS https://api.example.com
curl --head https://api.example.com
curl --request POST https://x.com
Headers
10curl -H 'Accept: application/json' https://x.com
curl -H 'X-Token: abc' -H 'X-Env: dev' https://x.com
curl -H 'Content-Type: application/json' https://x.com
curl -H 'Authorization: Bearer TOKEN' https://x.com
curl -H 'Host: example.com' https://1.2.3.4
curl -H 'Accept-Encoding: gzip' https://x.com
curl -A 'MyAgent/1.0' https://x.com
curl -e 'https://ref.com' https://x.com
curl -H 'X-Debug:' https://x.com
curl --compressed https://x.com
Sending data
11curl -d 'name=Jane&age=30' https://x.com
curl -d '@payload.json' https://x.com
curl --data-urlencode 'q=hello world' https://x.com
curl --data-binary '@file.bin' https://x.com
curl -G --data-urlencode 'q=cats' https://x.com
curl -X POST -H 'Content-Type: application/json' -d '{"name":"Jane"}' https://x.com
curl --json '{"name":"Jane"}' https://x.com
curl -F 'name=Jane' https://x.com
curl -F 'file=@photo.png' https://x.com
curl -F 'file=@a.pdf;type=application/pdf' https://x.com
curl -d '' https://x.com
Authentication
9curl -u user:pass https://x.com
curl -u user https://x.com
curl -H 'Authorization: Bearer TOKEN' https://x.com
curl --oauth2-bearer TOKEN https://x.com
curl --digest -u user:pass https://x.com
curl --ntlm -u user:pass https://x.com
curl --netrc https://x.com
curl --netrc-file creds https://x.com
curl -H 'X-Api-Key: KEY' https://x.com
Downloading & uploading
11curl -O https://x.com/file.zip
curl -o out.zip https://x.com/file.zip
curl -OL https://x.com/file.zip
curl -C - -O https://x.com/file.zip
curl --limit-rate 200k -O https://x.com/f
curl -r 0-1023 -o part https://x.com/f
curl --retry 3 -O https://x.com/f
curl -T file.txt ftp://x.com/
curl -T file.txt https://x.com/up
curl --create-dirs -o a/b/f.txt https://x.com
curl -# -O https://x.com/file.zip
Cookies
8curl -b 'session=abc123' https://x.com
curl -b cookies.txt https://x.com
curl -c cookies.txt https://x.com
curl -b jar.txt -c jar.txt https://x.com
curl -b 'a=1; b=2' https://x.com
curl -c - https://x.com
curl --junk-session-cookies -b jar.txt https://x.com
curl -L -c jar.txt -b jar.txt https://x.com/login
TLS / SSL
10curl -k https://x.com
curl --cacert ca.pem https://x.com
curl --capath /etc/ssl/certs https://x.com
curl --cert client.pem https://x.com
curl --cert client.pem --key client.key https://x.com
curl --tlsv1.2 https://x.com
curl --tlsv1.3 https://x.com
curl --tls-max 1.2 https://x.com
curl --ciphers ECDHE-RSA-AES128-GCM-SHA256 https://x.com
curl -vI https://x.com
Proxies
9curl -x http://proxy:8080 https://x.com
curl --proxy http://proxy:8080 https://x.com
curl -x proxy:8080 -U user:pass https://x.com
curl --proxy-user user:pass -x proxy:8080 https://x.com
curl --socks5 127.0.0.1:1080 https://x.com
curl --socks5-hostname 127.0.0.1:1080 https://x.com
curl --socks4 127.0.0.1:1080 https://x.com
curl --noproxy example.com https://x.com
curl -x '' https://x.com
Debugging & output
11curl -w '%{http_code}\n' -o /dev/null -s https://x.com
curl -w '%{time_total}\n' -o /dev/null -s https://x.com
curl -w '@format.txt' https://x.com
curl -D headers.txt https://x.com
curl -D - -o body.txt https://x.com
curl --trace trace.txt https://x.com
curl --trace-ascii - https://x.com
curl --trace-time -v https://x.com
curl -v https://x.com 2>&1 | less
curl -sS -o /dev/null -w '%{size_download}\n' https://x.com
curl --libcurl out.c https://x.com
Timeouts & retries
10curl --connect-timeout 5 https://x.com
curl --max-time 30 https://x.com
curl --retry 3 https://x.com
curl --retry 3 --retry-delay 2 https://x.com
curl --retry 5 --retry-max-time 60 https://x.com
curl --retry-connrefused https://x.com
curl --retry-all-errors https://x.com
curl --speed-limit 100 --speed-time 10 https://x.com
curl --keepalive-time 60 https://x.com
curl --expect100-timeout 1 https://x.com
Hakuna kipengele kinacholingana na “:q”.
Kuhusu Karatasi ya Marejeleo ya cURL
Karatasi hii ya kumbukumbu ya curl ni kumbukumbu inayofanya kazi kwa ajili ya zana muhimu zaidi ya mstari wa amri ya HTTP: misingi, mbinu za HTTP, vichwa (headers), kutuma data, uthibitishaji, kupakua na kupakia, vidakuzi (cookies), TLS/SSL, proksi, urekebishaji hitilafu (debugging) na matokeo, na muda wa kusubiri na majaribio tena.
curl ina mamia ya alama (flags) na kila mtu anakumbuka karibu kumi tu kati yazo. Kila safu mlalo inaonyesha amri kamili moja — POST ya JSON, ubadilishaji wa kichwa, upakuaji unaoweza kuendelea, mkono wa TLS wa kina — pamoja na maelezo ya mstari mmoja, ili uweze kuchukua msemo hasa badala ya kusoma man page katikati ya urekebishaji.
Karatasi ni bure na inafanya kazi upande wa kifaa chako: chuja amri papo hapo kwa sanduku la utafutaji, ruka kati ya sehemu kupitia orodha ya yaliyomo inayoning'inia, nakili amri yoyote kwa mbofyo mmoja na chapisha ukurasa kwa ajili ya vipindi vya urekebishaji wa API.
Jinsi ya kutumia Karatasi ya Marejeleo ya cURL
- Pitia sehemu, kuanzia Misingi na Mbinu za HTTP hadi Urekebishaji hitilafu na matokeo na Muda wa kusubiri na majaribio tena.
- Tafuta alama au kazi kama POST, header au proxy ili kuchuja amri papo hapo.
- Ruka hadi sehemu kama Uthibitishaji au TLS / SSL kupitia upau wa pembeni unaoning'inia.
- Bofya amri au ikoni yake ya kunakili ili kuinakili, kisha ubadilishe URL na thamani za mfano.
- Chapisha karatasi ili kuweka kumbukumbu ya curl pembeni ya terminal yako.