כיצד להשתמש ב-cURL להעברת נתונים בשורת הפקודה ועוד

Cum să utilizați cURL pentru transferul de date pe linia de comandă și altele
⏱️ 6 min read

אם עוקבת אחרי הוראות ההתקנה המוכוונות למסוף עבור אפליקציות לינוקס במשך זמן מה, כנראה שנתקלת ב curl פקודה בשלב זה או אחר. cURL הוא כלי שורת פקודה להעברת נתונים עם כתובות URL. אחד השימושים הפשוטים ביותר הוא להוריד קובץ דרך שורת הפקודה. עם זאת, זה מטעה שכן cURL הוא כלי חזק להפליא שיכול לעשות הרבה יותר.

מה זה cURL?

נכתב במקור על ידי דניאל שטרנברג בשנת 1996 כדי לקבל נתונים פיננסיים משרתי אינטרנט ולשדר אותם לערוצי IRC, cURL התפתחה להיות כלי רב עוצמה לקבלת נתונים ללא צורך להשתמש בדפדפן. אם אתה תמיד משתמש בטרמינל, זה יהיה אחד הכלים החשובים ביותר בארסנל שלך.

ברוב ההפצות של לינוקס, cURL מותקן מראש במערכת ותוכל להשתמש בו מיד. גם אם הוא לא מותקן, הוא נמצא גם ברוב המאגרים, כך שתוכל להתקין אותו בקלות באמצעות מרכז התוכנה.

עבור Windows, אין לו פקודה “כמו תלתל” וב-macOS מותקן מראש cURL, אבל הוא לא מציע כל כך הרבה דגלים כמו גרסת לינוקס.

הַתקָנָה

לפני שנמשיך הלאה, עלינו לוודא ש-cURL כבר מותקן במערכת שלנו.

לינוקס

בהפצות מבוססות Debian/Ubuntu, השתמש בפקודה הבאה כדי להתקין cURL:

בהפצות מבוססות Arch:

ב-Fedora / CentOS / RHEL:

Mac OS

עבור macOS, זה מגיע מותקן מראש, כך שאתה לא צריך לעשות כלום.

חלונות

  1. עבור Windows 7/10/11, עבור אל דף הורדת cURL ובחר בין חבילות של 64 סיביות או 32 סיביות, בהתאם לארכיטקטורה שאתה מפעיל. אם אינך מכיר את הארכיטקטורה שלו, 64 סיביות הוא הימור בטוח, שכן הרוב המכריע של החומרה שיוצרה לאחר 2006 נמצא בו.
  2. צור תיקיה ישירות בכונן המערכת או ב-“C:Program Files” וקרא לה “cURL”.

  1. חזור לקובץ ה-zip שהורדת, פתח אותו ומצא את “curl.exe” בתוך תיקיית “bin”. העתק אותו לתיקיית cURL שיצרת. ה-EXE שהעתקת הוא עצמאי לחלוטין ומסוגל לבצע את כל התמורות שאתה יכול להריץ בלינוקס.
  2. כדי להפוך את הפקודה הזו לשימושית באמת, עלינו להוסיף אותה למשתנה PATH ב-Windows כך שניתן יהיה להפעיל אותה משורת הפקודה בכל מקום.
  • לחץ על תפריט התחל, הקלד environmentולחץ להיכנס.
  • לחץ על “משתני סביבה…” כעת אתה אמור להיות בהגדרות של משתני הסביבה שלך.
משתני סביבת Linuxcurl
  • בחר את משתנה הסביבה “נתיב” ולחץ על “ערוך…”
  • בחלון הדו-שיח של עריכת הנתיב, לחץ על “חדש” והזן את הספרייה שבה נמצא “curl.exe” שלך – לדוגמה, “C: קבצי תוכנית cURL”.
Linuxcurl Editvariable
  • לחץ על “אישור” בחלונות הדו-שיח שפתחת בתהליך זה ותיהנה מ-cURL בטרמינל שלך!

כל דגל ב-cURL שניתן להשתמש בו בלינוקס אמור לעבוד בגרסת Windows.

מילה לחכמים: זכור שאסור לבלבל בין שורת הפקודה לבין מסוף Windows. Windows Terminal מגיע עם גרסה משלו של cURL הכלולה ב- PowerShell המציעה פונקציונליות דומה אך פועלת אחרת לגמרי.

באמצעות cURL

כדי להתחיל, פשוט הקלד curl maketecheasier.com בטרמינל שלך ולחץ להיכנס.

אם אינך מקבל פלט כלשהו, ​​הסיבה לכך היא שהשרת של אתר זה אינו מוגדר להגיב לבקשות חיבור אקראיות לדומיין שאינו www. אם אתה מחפש שרת שלא קיים או לא מקוון, תקבל הודעת שגיאה האומרת ש-cURL לא הצליח לפתור את המארח.

שגיאת Linuxcurl

כדי לגרום ל-cURL לעשות משהו ממש שימושי, נצטרך לציין פרוטוקול. בדוגמה שלנו, אנו משתמשים בפרוטוקול HTTPS כדי לבצע שאילתות בדף הבית של אתר זה. דֶגֶם curl https://www.maketecheasier.com.

קבצי Linuxcurl

אם הכל ילך כשורה, אתה צריך להסתכל על קיר ענק של נתונים. כדי להפוך את הנתונים האלה לשמישים יותר, אנחנו יכולים להגיד ל-cURL לשים אותם בקובץ HTML:

הורד את Linuxcurl

פקודה זו מכניסה את תוכן הפלט של האתר שלנו לקובץ HTML בתיקיית ההורדות. נווט לתיקיה עם מנהל הקבצים המועדף עליך ולחץ פעמיים על הקובץ שיצרת זה עתה. זה אמור לפתוח תמונת מצב של פלט ה-HTML של דף הבית של אתר זה.

מבחן Linuxcurl

כמו כן, אתה יכול להשתמש ב- -o דגל כדי לקבל את אותה תוצאה:

בעקבות הפניות מחדש

רוב האתרים מפנים אוטומטית תעבורה מפרוטוקול “http” ל-“https”. ב-cURL אתה יכול להשיג את אותו הדבר עם -L דֶגֶל. זה יעקוב אוטומטית אחר הפניות 301 עד שהוא יגיע לדף או קובץ קריא.

הפניה מחדש של Linuxcurl

חידוש הורדה

בעת הורדת קבצים גדולים, בהתאם למהירות האינטרנט שלך, הפרעות יכולות להיות מעצבנות ביותר. למרבה המזל, ל-cURL יש פונקציית קורות חיים. עובר הלאה -C דגל יטפל בבעיה הזו במהירות.

כדי להראות דוגמה מהעולם האמיתי, קטעתי בכוונה את ההורדה של מהדורת הניסוי של דביאן ISO על ידי לחיצה Ctrl ו Ç באמצע לתפוס אותו.

linuxcurl נקטע

לפקודה הבאה שלנו, אנו מוסיפים את ה -C דֶגֶל. לדוגמה,

תכנית הלימודים של Linuxcurl

ההורדה התחילה בהצלחה מאיפה שהפסיקה.

מוריד יותר מקובץ אחד

מכיוון של-cURL אין את הדרך האינטואיטיבית ביותר להוריד קבצים מרובים, ישנן שתי שיטות, כל אחת עם פשרה משלה.

אם הקבצים שאתה מוריד ממוינים (למשל file1, file2 וכן הלאה), אתה יכול להשתמש בסוגריים מרובעים כדי לקבל את כל מגוון הקבצים ו-“#” בתוך הפלט שאתה מציין עם -o דֶגֶל. כדי לעשות את זה קצת פחות מבלבל, הנה דוגמה:

דרך פשוטה יותר לעשות זאת היא עם -O (--remote-name) הדגל הזה גורם ל-cURL להוריד את הקובץ המרוחק לקובץ מקומי באותו שם. מכיוון שאינך צריך לציין פלט, עליך להשתמש בפקודה זו כאשר הטרמינל פתוח בספרייה שבה ברצונך להוריד את הקבצים.

אם יש לך מספר רב של קבצים ממוינים להורדה, --remote-name-all הוא דגל טוב יותר עבור זה:

אתה יכול אפילו לציין קבצים לא ממוספרים המגיעים מאותו אתר מבלי שתצטרך להקליד מחדש את כתובת האתר באמצעות סוגריים מרובעים:

הורדה עם אימות

הורד קבצים הדורשים אימות (לדוגמה, כאשר מגיעים משרת FTP פרטי) עם -u דֶגֶל. כל בקשת אימות חייבת להיעשות עם שם משתמש ראשון וסיסמה שניה, עם נקודתיים שמפרידה בין השניים. הנה דוגמה כדי לעשות דברים פשוטים:

פעולה זו תאמת את חברנו bonobo_bob לשרת ה-FTP ותוריד את הקובץ לתיקיית ההורדות.

פיצול ומיזוג קבצים

אם מסיבה כלשהי אתה רוצה להוריד קובץ גדול ולפצל אותו לחלקים, אתה יכול לעשות את זה עם cURL’s --range דֶגֶל. עם --range, עליך לציין את הבית שבו ברצונך להתחיל עד זה שבו ברצונך לסיים. אם לא תציין סוף לטווח, הוא פשוט יוריד את שאר הקובץ.

בפקודה למטה, cURL תוריד את ה-100 מגה-בייט הראשונים של תמונת ההתקנה של Arch Linux:

עבור 100 MB הבאים, השתמש --range 100000000-199999999, וכו. אתה יכול לשרשר פקודות אלה יחד באמצעות ה- && הפעלה:

אם עקבת אחר מבנה הפקודה לעיל עד האות, שמונה קבצים צריכים להופיע במקום שבו ביקשת מ-cURL להוריד אותם.

חלקי Linuxcurl

כדי לאסוף קבצים אלה תצטרך להשתמש ב- cat הפקודה אם אתה על לינוקס או macOS בצורה הבאה:

עבור Windows תצטרך להשתמש ב- copy פקודה כזו:

משאבים שימושיים אחרים

ישנם דגלים רבים ושימושים עבור cURL:

  • -# – משתמש בסרגל התקדמות כדי לציין כמה רחוק אתה במה שאתה תופס. דוגמא: curl -# https://asite.com/somefile.zip > ~/somefile.zip.
  • -a – מבקש מ-cURL לצרף לקובץ במקום לדרוס אותו. דוגמא: curl -ao ~/collab-full.x https://example-url.com/collab-part26.x.
  • --head – לכוד רק את כותרת תגובת השרת ללא נתוני הפלט. זה שימושי כאשר אתה מנקה באגים באתר או מסתכל על התגובות המתוכנתות של השרת ללקוחות. דוגמא: curl --head https://example-url.com.
  • --limit-rate – מבקש הורדה מוגבלת ברוחב פס. זה שימושי במצבים שבהם אתה לא רוצה ש-cURL יתחזק את כל רוחב הפס הזמין במערכת שלך. מספר בודד יתפרש כבייטים לשנייה. K מייצג קילובייט לשנייה; M מייצג מגה בייט לשנייה. דוגמא: curl --limit-rate 8M https://example-url.com/file.zip > ~/file.zip.
  • -o – כפי שהוזכר קודם לכן, קובע קובץ פלט לשימוש cURL. דוגמא: curl -o ~/Downloads/file.zip https://thefileplace.com/file.zip -o file2.zip https://thefileplace.com/file2.zip.
  • --proxy – אם אתה רוצה לעבוד עם פרוקסי, זו הדרך לעשות זאת. דוגמא: curl --proxy proxyurl:port https://example-url.com/file.zip > ~file.zip.

cURL לעומת wget

שתיהן יצאו באותה שנה (1996), cURL ו-Wget הן למעשה תוכניות אחיות למתבונן המזדמן. צלול קצת יותר לעומק, עם זאת, ותראה שלשתי האחיות האלה יש מטרות שונות.

wget

  • זה בנוי לחלוטין מהיסוד כדי לקבל נתונים מהאינטרנט.
  • לא צריך את -L אוֹ -o דגלים כמו curl; פשוט תקליד wget [url] ו … צא!
  • יכול להוריד באופן רקורסיבי כדי לקבל הכל בספרייה עם -r דֶגֶל.
  • יש לו את כל הפונקציות שמשתמש צריך לשימוש יומיומי וממלא את המשימות היומיומיות של מנהל מערכת.
  • (על לינוקס) לא צריך הרבה תלות; כולם חייבים להיות זמינים מהקופסה.

סִלְסוּל

  • רפרטואר נרחב של דגלים ופונקציות שימושיות להתאוששות מרחוק.
  • תומך ברשת מקומית (LDAP) ובמדפסות רשת (Samba).
  • עובד היטב עם ספריות דחיסה של gzip.
  • זה תלוי ב-libcurl, המאפשר למפתחים לכתוב תוכנה או סקריפטים של bash הכוללים פונקציונליות של cURL.

בקיצור, Wget הוא “ארגז הכלים של כולם” להורדת דברים מהאינטרנט, בעוד ש-cURL מרחיב את זה עם שליטה מפורטת יותר עבור משתמשים מתקדמים ומנהלי מערכת.

שאלות נפוצות

1. קיבלתי שגיאת אישור בלינוקס. איך אני יכול לתקן את זה?

אם אתה מקבל שגיאה האומרת משהו כמו “מנפיק תעודת עמית סומן כלא מהימן”, הדרך הקלה ביותר לתקן זאת היא להתקין מחדש את חבילת האישורים הנפוצה בהפצה שלך.

עבור מערכות מבוססות דביאן/אובונטו:

עבור Fedora / CentOS / RHEL:

עבור מערכות מבוססות Arch:

שים לב שב-Arch אולי תרצה לנקות את מטמון החבילה שלך באמצעות pacman -Scc לפני התקנה מחדש של חבילת האישורים.

אם אתה עדיין מקבל שגיאה זו, ייתכן שמשהו לא בסדר בשרת.

2. האם זה בטוח להפעיל פקודות cURL ו-bash ביחד?

אמנם לא הדרך הנפוצה ביותר להתקין אפליקציות לינוקס, אך ישנם מספר מפתחים (כמו האנשים שמאחורי NodeJS) שאינם מציעים ברירה אלא להשתמש curl ליד פקודת גישה שורש המופעלת דרך bash (למשל. curl [argument] | sudo -E bash -) כדי להתקין את התוכנה.

זה אולי נשמע קצת מפחיד, אבל אם האנשים שמאחורי האפליקציה אמינים, סביר מאוד שלא תשבור משהו. שחקנים זדוניים נמצאים בכל מקום ויכולים לחדור למאגרים כמו AUR של Arch, להתקין באמצעות curl בשילוב עם פקודות גישה לשורש זה בדרך כלל לא יותר מסוכן מאשר לעשות זאת דרך מנהל החבילות שלך.

3. האם אני יכול להשתמש ב-cURL עם Tor?

כן! הפעל את דפדפן Tor (או שירות עצמאי) והשתמש ב- --proxy דֶגֶל. Tor מספק פרוקסי מקומי שבו אתה יכול להשתמש כדי להסוות את ה-IP שלך ביישומים אחרים. הנה דוגמה ל-cURL בשימוש עם Tor:

שירותי Tor עצמאיים ישתמשו ב-9050 כיציאת ההאזנה, בעוד שדפדפן Tor ישתמש ביציאה 9150.

אֲרִיזָה

cURL הוכיחה את עצמה כעמידה בין שינויים במבנה של עולם הלינוקס, ושומרת על מעמדה ככלי חשוב בארסנל של משתמש הטרמינל.

אם אתה חדש בשורת הפקודה, בדוק כמה מפקודות לינוקס השימושיות ביותר. אם אתה פשוט רוצה לחפש באינטרנט במקום להוריד נתונים מהאינטרנט, אתה יכול גם לגלוש במסוף.

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar of Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

You may also like...

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x