cURL הוא פרויקט תוכנה הנותן יכולת להעברת מידע באמצעות מגוון פרוטוקולים, וחושף לשם כך ממשק שורת פקודה. פרויקט cURL מייצר שני מוצרים: libcurl ו-curl.[1] הוא הופץ לראשונה בשנת 1997.
שם הפרויקט מגיע מclient URL, כלי צד לקוח לקישורים. ניתן לקריאה גם כ"see URL", "ראה קישור". ישנם גם ראשי תיבות בדיעבדרקורסיביים,Curl URL Request Library.[2]
שירותי תעבורה מאובטחת של מידע ב-TLS נתמכים דרך: OpenSSL, GnuTLS, NSS, wolfSSL, BearSSL, mbed TLS, QSOSSL על IBM i, Secure Transport על OS X, ו־iOS, rustls וכן SChannel על מערכות Windows.[3]
curl
curl היא תוכנה המפעילה ממשק שורת פקודה כדי לקבל ולשלוח קבצים עם שימוש ב-URL. התוכנה משתמשת בספריית libcurl של אותו פרויקט, וחושפת את היכולות של הספרייה דרך ממשק פשוט ללא צורך לכתוב קוד. כתוצאה מכך היא תומכת ברוב הפרוטוקולים שהספרייה מממשת, כגון: HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, LDAPS, DICT, TELNET, FILE, IMAP, POP3, SMTP ו RTSP (ארבעת האחרונים רק מגרסאות 7.20.0 או מאז 9 בפברואר 2010).
דוגמאות
השימוש הטריוויאלי בתוכנה כולל הקלדה של מילת המפתח curl ולאחריה כתובת ה-URL.
דוגמה לפקודה שתביא את דף הבית של האתר example.com:
curl www.example.com
curl מוציא כברירת מחדל את הפלט להתקן הפלט הסטנדרטי (בדרך כלל חלון הטרמינל). לכן הפקודה שלעיל, ברוב המערכות תציג את קוד המקור של האתר www.example.com בטקסט בחלון הטרמינל.
כדי לכתוב את הפלט לקובץ בשם example.html, יש להשתמש בדגל o-:
curl -o example.html www.example.com
בזמן הורדת המידע curl יציג עקומת התקדמות אך לא יציג את העקומה כאשר הוא מתכונן להצגת המידע כדי שלא יפריע להצגת המידע.
כדי לשמור קובץ באותו שם שהוא מופיע האתר יש להשתמש ב O-:
curl -O www.example.com/example.html
אם הקובץ (example.html) הועבר למיקום חדש (אשר מתאפיין בתשובה עם קוד שגיאה מהסדרה 3xx) אפשר להשתמש בדגל L- שיעקוב אחר ההפניות שמופיעות בשדות הכותרת (headers):
curl -OL www.example.com/example.html
cURL מציע תכונות נוספות כגון שימוש בשרת פרוקסי, אימות משתמש, העלאת קבצים ב FTP, HTTP Post, חיבור TLS, שימוש ב cookies, תכונת file transfer resume להעברות שנותקו במפתיע ועוד.