במדריך זה נבחן את התלתלים וה- wget, כיצד להתחיל, והכי חשוב, את ההבדלים ביניהם.
מהו cURL?
cURL הוא כלי שורת פקודה חינם וקוד פתוח המאפשר למשתמשים להעביר נתונים ממחשב מרוחק אחד למשנהו עם אינטראקציה מינימלית או ללא משתמש. השימוש ב- CURL נפוץ במכשירים כמו נתבים, מדפסות, טלפונים, טאבלטים, נגני מדיה ועוד.
הוא תומך בהורדה והעלאה באמצעות פרוטוקולים כגון HTTP/HTTPS, FTP, SFTP, SCP, IMAP, LDAP/LDAPS, SMB/SMBS, TELNET, POP3, GOPHER, ועוד רבים, רבים נוספים.
cURL מספק גם פרוקסי, העברות קורות חיים, אימות משתמשים, אישורי SSL, ועוד הרבה יותר.
מהו wget?
GNU Wget, המכונה בדרך כלל wget, הוא כלי שורת פקודה בחינם להעברת קבצים באמצעות HTTP/HTTPS, FTP ו- FTPS. הוא מספק תכונות כמו הורדות רקורסיביות, בקרת רוחב פס, קורות חיים שהופסקו, הורדות רקע, קבצי מראות וספריות רקורסיביות ועוד.
כיצד להתקין cURL ו- Wget?
cURL ו- wget הם כלים פופולריים הזמינים בהפצות לינוקס גדולות; אם אין לך שום כלי מותקן, אתה משתמש בפקודות להלן כדי להתקין:
דביאן/אובונטו:
# התקן cURLסודו apt-get להתקיןסִלְסוּל
# התקן wget
סודו apt-get להתקין wget
קשת / מנג'רו:
# התקן cURLסודופקמן-Sסִלְסוּל
# התקן wget
סודופקמן-S wget
REHL/CentOS/Fedora:
# התקן cURLסודו יאם להתקיןסִלְסוּל
סודוdnfלהתקיןסִלְסוּל
# התקן wget
סודו יאם להתקין wget
סודוdnfלהתקין wget
כיצד להשתמש ב- cURL וב- Wget (מקרי שימוש לדוגמה)?
כדי להבטיח שאתה מבין את הדמיון והשוני בין cURL ל- wget, טוב להסתכל על כמה דוגמאות:
פרוטוקולי HTTP/HTTPS:
הן cURL והן wget תומכים בפרוטוקולי HTTP ו- HTTPS. מכאן שאם אנו מורידים אתר כגון linuxhint.com:
סלסול https://linuxhint.com-אוֹlinuxhint.htmlסלסול https://linuxhint.com-אוֹlinuxhint.html
%סה'כ%קיבלו%Xferd מהירות ממוצעת זמן זמן זמן נוכחי
Dload העלאת סך כל מהירות השמאל שהוצאת
100256k0256k0 0166 אלף0-: -: -0: 00: 01-:-:-166 אלף
כברירת מחדל, cURL ידפיס את התוכן של משאב האינטרנט במסוף. אנו משתמשים בדגל -o כדי להפנות את הפלט לקובץ.
הדברים הבאים חלים על wget:
wgethttps://linuxhint.com--2021-06-2005:09:ארבע חמש- https://linuxhint.com/
פתרון linuxhint.com(linuxhint.com)... 104.21.58.234, 172.67.209.252,2606:4700:3033::6815: 3aea, ...
מתחבר ל linuxhint.com(linuxhint.com)|104.21.58.234|:443... מחובר.
נשלחה בקשת HTTP, ממתינה לתגובה ...200בסדר
אורך: לא צוין[טֶקסט/html]
שומר ב: 'index.html'
index.html
[ <=> ]256.25K 506KB/שב0.5 שניות
2021-06-עשרים05:09:46 (506KB/ש)- 'index.html' נשמר[262396]
Wget, לעומת זאת, שומר את המשאב המבוקש לקובץ.
טוב לציין ששני הכלים מורידים את המשאב. פרטי ls של שני הקבצים מציגים את שני גדלי הקבצים.
$ls -הindex.html linuxhint.html-rw-rw-r-- 1linuxhint linuxhint262396יוני19 חֲמֵשׁ עֶשׂרֵה:חמישיםindex.html
-rw-rw-r-- 1linuxhint linuxhint262396יוניעשרים05:07 linuxhint.html
פרוטוקול FTP:
הן cURL והן wget תומכים בהורדות בפרוטוקולי FTP. עם זאת, cURL תומך בהעלאה ל- ftp.
השתמש בפקודה שלהלן כדי להוריד קבצים משרת FTP עם wget:
wget --מִשׁתַמֵשׁ= דביאן--סיסמה= 'Debian' ftp://192.168.0.112/backup.zstwget --מִשׁתַמֵשׁ= דביאן--סיסמה='דביאן'ftp://192.168.0.112/backup.zst
--2021-06-2005:29: 06- ftp://192.168.0.112/backup.zst
=>'Backup.zst'
מתחבר ל- 192.168.0.112:עשרים ואחת... מחובר.
רישוםב כפי שdebian ... נרשםב!
==>SYST ... נעשה. ==>PWD ... נעשה.
==>TYPE I ... done. ==>CWD לא נחוץ.
==>SIZE backup.zst ... נעשה.
==>PASV ... נעשה. ==>RETR backup.zst ... נעשה.
backup.zst
[ <=> ] 0--.- KB/שב0 שניות
2021-06-עשרים05:29: 06(0.00ב/ש)- 'backup.zst' נשמר[0]
בעזרת תלתל, הוסף את-uסמן כ:
סִלְסוּל-udebian: debian 'ftp://192.168.0.112/backup.zst '-אוֹbackup.zst
סִלְסוּל-uדביאן: דביאן'ftp://192.168.0.112/backup.zst' -אוֹbackup.zst
%סה'כ%קיבלו%Xferd מהירות ממוצעת זמן זמן זמן נוכחי
Dload העלאת סך כל מהירות השמאל שהוצאת
0 0 0 0 0 0 0 0-: -: - -: -: - -: -: -0
להעלאת אקוֹבֶץלftpעם תלתל, אנו משתמשים ב-טאפשרות כ:
סִלְסוּל-uדביאן: דביאן-טbackup1.zst ftp://192.168.0.112/ftp/
ודא שהספרייה קיימת ולמשתמש יש הרשאות כתיבה אליה.
הערה: למרות ש- cURL תומך במגוון רחב של פרוטוקולים, הוא אינו מספק הורדות רקורסיביות. מצד שני, Wget תומך בהורדות רקורסיביות באמצעות האפשרות –רקורסיבית כפי שמציעים פרוטוקולי HTTP/HTTPS ו- FTP/FTPS, פונקציונליות כזו.
קווי דמיון בין wget ו- cURL
עכשיו לדובדבן שבקצפת:
- שני הכלים תומכים בפרוטוקולים סטנדרטיים כגון HTTP, HTTPS, FTP, FTPS.
- שני הכלים מורידים קבצים מהאינטרנט.
- שני הכלים תומכים בעוגיות HTTP.
- שני הכלים תומכים בפלט לקובץ.
- כלים חינמיים ומפותחים באופן פעיל.
- שני הכלים תומכים בהעברות קורות חיים.
- שני הכלים תומכים ב- HTTP POST.
ההבדלים בין wget ו- cURL
להלן כמה מההבדלים בין סלסול ל- wget:
- Wget הוא כלי העברה פשוט, בעוד שסלסל מציע הרבה יותר.
- Curl מספק את ספריית libcurl, הניתנת להרחבה ליישומי GUI. Wget, לעומת זאת, הוא כלי שורת פקודה פשוט.
- Wget תומך בפחות פרוטוקולים בהשוואה ל- cURL.
- הורדות רקורסיביות אינן נתמכות ב- curl.
- Wget זמין באופן מקורי במערכות לינוקס, בעוד cURL זמין במערכות Windows.
- cURL תומך בהעברות מקבילות מרובות.
- cURL מבצעת הפחתות HTTP מקודדות העברה, בעוד wget לא עושה זאת.
- cURL תומך ב- HTTP דו כיווני ואילו wget מציעה POST HTTP רגיל.
- cURL תומך יותר בשיטות אימות HTTP בהשוואה ל- wget.
- Wget אינו תומך ב- SOCKS.
- Wget דורש התקנת gnulib.
- שלא כמו תלתלים, תכונות כגון עוגיות, חותמות זמן והפניות להפניה מופעלות כברירת מחדל ב- wget. cURL דורש לציין כל אחד במפורש.
סיכום
הדרכה זו התמקדה בדמיון ובהבדלים בין cURL. למרות שזה נראה כאילו cURL היא הבחירה המעולה, ישנם מקרים בהם wget היא הבחירה הטובה ביותר.
העצה שלי לך היא לבחור מה מתאים לך.