דף עזר cURL
מדריך curl לחיפוש והדפסה — שיטות HTTP, כותרות, נתונים וטפסים, אימות, הורדות, עוגיות, TLS, פרוקסי וניפוי באגים. בחינם.
יסודות
12curl https://api.example.com
שליחת בקשת GET והדפסת הגוף
curl -o page.html https://example.com
שמירת התגובה לקובץ בעל שם
curl -O https://example.com/file.zip
שמירה תוך שימוש בשם הקובץ המרוחק
curl -i https://example.com
הצגת כותרות התגובה בנוסף לגוף
curl -I https://example.com
קבלת כותרות התגובה בלבד (HEAD)
curl -v https://example.com
פלט מפורט של הבקשה/התגובה
curl -s https://example.com
מצב שקט, הסתרת התקדמות ושגיאות
curl -sS https://example.com
שקט אך עם הצגת שגיאות
curl -L https://example.com
מעקב אחר הפניות HTTP (3xx)
curl https://a.com https://b.com
בקשת מספר כתובות URL בקריאה אחת
curl 'https://x.com/p?[1-5]'
שימוש בטווח מספרי למעבר על כתובות URL
curl --version
הדפסת גרסת curl והתכונות
שיטות HTTP
9curl -X GET https://api.example.com
שליחת בקשת GET במפורש
curl -X POST https://api.example.com
שליחת בקשת POST
curl -X PUT https://api.example.com/1
שליחת בקשת PUT להחלפת משאב
curl -X PATCH https://api.example.com/1
שליחת בקשת PATCH לעדכון שדות
curl -X DELETE https://api.example.com/1
שליחת בקשת DELETE
curl -I https://api.example.com
שליחת בקשת HEAD לכותרות בלבד
curl -X OPTIONS https://api.example.com
שליחת בקשת OPTIONS מקדימה
curl --head https://api.example.com
הצורה הארוכה של -I לבקשת HEAD
curl --request POST https://x.com
הצורה הארוכה של -X להגדרת השיטה
כותרות
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
שליחת כותרת הרשאת bearer
curl -H 'Host: example.com' https://1.2.3.4
דריסת כותרת ה-Host
curl -H 'Accept-Encoding: gzip' https://x.com
בקשת תגובה דחוסת gzip
curl -A 'MyAgent/1.0' https://x.com
הגדרת מחרוזת User-Agent
curl -e 'https://ref.com' https://x.com
הגדרת כותרת Referer
curl -H 'X-Debug:' https://x.com
הסרת כותרת ברירת מחדל על ידי השארתה ריקה
curl --compressed https://x.com
בקשה ופענוח אוטומטי של התגובה
שליחת נתונים
11curl -d 'name=Jane&age=30' https://x.com
POST של נתוני טופס בקידוד URL
curl -d '@payload.json' https://x.com
POST של נתונים שנקראו מקובץ
curl --data-urlencode 'q=hello world' https://x.com
POST של שדה בודד בקידוד URL
curl --data-binary '@file.bin' https://x.com
POST של בייטים גולמיים ללא עיבוד
curl -G --data-urlencode 'q=cats' https://x.com
צירוף הנתונים כמחרוזת שאילתה של GET
curl -X POST -H 'Content-Type: application/json' -d '{"name":"Jane"}' https://x.com
POST של גוף JSON
curl --json '{"name":"Jane"}' https://x.com
POST של JSON והגדרת כותרות JSON אוטומטית
curl -F 'name=Jane' https://x.com
שליחת שדה טופס multipart
curl -F 'file=@photo.png' https://x.com
העלאת קובץ כ-multipart form-data
curl -F 'file=@a.pdf;type=application/pdf' https://x.com
העלאת קובץ עם סוג MIME מפורש
curl -d '' https://x.com
POST עם גוף ריק
אימות
9curl -u user:pass https://x.com
אימות בסיסי של HTTP
curl -u user https://x.com
אימות בסיסי, בקשת הסיסמה
curl -H 'Authorization: Bearer TOKEN' https://x.com
שליחת כותרת token של bearer
curl --oauth2-bearer TOKEN https://x.com
שליחת token של bearer OAuth 2.0
curl --digest -u user:pass https://x.com
שימוש באימות digest של HTTP
curl --ntlm -u user:pass https://x.com
שימוש באימות NTLM
curl --netrc https://x.com
קריאת אישורים מ-~/.netrc
curl --netrc-file creds https://x.com
קריאת אישורים מקובץ netrc מותאם
curl -H 'X-Api-Key: KEY' https://x.com
שליחת כותרת מפתח API
הורדה והעלאה
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/
העלאת קובץ עם PUT/FTP
curl -T file.txt https://x.com/up
העלאת קובץ באמצעות HTTP PUT
curl --create-dirs -o a/b/f.txt https://x.com
יצירת תיקיות חסרות עבור הפלט
curl -# -O https://x.com/file.zip
הצגת סרגל התקדמות פשוט
עוגיות
8curl -b 'session=abc123' https://x.com
שליחת עוגייה מוטבעת
curl -b cookies.txt https://x.com
שליחת עוגיות מקובץ
curl -c cookies.txt https://x.com
כתיבת עוגיות שהתקבלו ל-jar
curl -b jar.txt -c jar.txt https://x.com
קריאה ועדכון של אותו cookie jar
curl -b 'a=1; b=2' https://x.com
שליחת מספר עוגיות בבת אחת
curl -c - https://x.com
הדפסת עוגיות שהתקבלו ל-stdout
curl --junk-session-cookies -b jar.txt https://x.com
התעלמות מעוגיות session מה-jar
curl -L -c jar.txt -b jar.txt https://x.com/login
שמירת session לאורך הפניות
TLS / SSL
10curl -k https://x.com
התרת חיבור לא מאובטח (דילוג על אימות תעודה)
curl --cacert ca.pem https://x.com
אימות עם חבילת CA מותאמת
curl --capath /etc/ssl/certs https://x.com
שימוש בתיקיית תעודות CA
curl --cert client.pem https://x.com
שליחת תעודת לקוח
curl --cert client.pem --key client.key https://x.com
שימוש בתעודת לקוח ומפתח פרטי
curl --tlsv1.2 https://x.com
דרישה ל-TLS 1.2 לפחות
curl --tlsv1.3 https://x.com
דרישה ל-TLS 1.3 לפחות
curl --tls-max 1.2 https://x.com
הגבלת גרסת ה-TLS המקסימלית
curl --ciphers ECDHE-RSA-AES128-GCM-SHA256 https://x.com
הגבלת צופני TLS מותרים
curl -vI https://x.com
בדיקת פרטי לחיצת היד של TLS
פרוקסי
9curl -x http://proxy:8080 https://x.com
ניתוב הבקשה דרך פרוקסי HTTP
curl --proxy http://proxy:8080 https://x.com
הצורה הארוכה של -x להגדרת פרוקסי
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
שימוש בפרוקסי SOCKS5
curl --socks5-hostname 127.0.0.1:1080 https://x.com
פרוקסי SOCKS5 עם פתרון DNS מרוחק
curl --socks4 127.0.0.1:1080 https://x.com
שימוש בפרוקסי SOCKS4
curl --noproxy example.com https://x.com
עקיפת הפרוקסי עבור hosts נתונים
curl -x '' https://x.com
השבתת כל פרוקסי מוגדר
ניפוי שגיאות ופלט
11curl -w '%{http_code}\n' -o /dev/null -s https://x.com
הדפסת קוד הסטטוס של HTTP בלבד
curl -w '%{time_total}\n' -o /dev/null -s https://x.com
הדפסת זמן ההעברה הכולל
curl -w '@format.txt' https://x.com
קריאת פורמט ה-write-out מקובץ
curl -D headers.txt https://x.com
שמירת כותרות התגובה לקובץ
curl -D - -o body.txt https://x.com
כותרות ל-stdout, גוף לקובץ
curl --trace trace.txt https://x.com
מעקב hex מלא של ההעברה
curl --trace-ascii - https://x.com
מעקב ASCII ל-stdout
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
פליטת קוד מקור C שקול של libcurl
פסקי זמן וניסיונות חוזרים
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
הגדרת מרווח ה-keep-alive של TCP
curl --expect100-timeout 1 https://x.com
הגבלת ההמתנה ל-100-continue
אף רשומה אינה תואמת ל-„:q”.
צריך עזרה?
נתקלת בבעיה בכלי הזה? ספר לצוות שלנו.