מה ההבדל בין wget vs curl?

What Is Difference Between Wget Vs Curl



לעתים קרובות עלינו להוריד קבצים משרתים מרוחקים למכונה המקומית שלנו. בשולחן עבודה גרפי, אנו יכולים להשתמש בדפדפן GUI וללחוץ על כפתור ההורדה. עם זאת, במסוף עלינו להשתמש בכלים שפותחו עבור הטרמינל. בעת הורדת קבצים מהטרמינל, לעתים קרובות עולים ארבעה כלים: סִלְסוּל , כָּתֵף , wget , ו אריה 2 . אומנם axel ו- aria2 אינם מוכרים, אך רוב משתמשי הטרמינל מכירים curl ו- wget.

במדריך זה נבחן את התלתלים וה- 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.zst

wget --מִשׁתַמֵשׁ= דביאן--סיסמה='דביאן'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 היא הבחירה הטובה ביותר.

העצה שלי לך היא לבחור מה מתאים לך.