העברת קבצים באמצעות שרת ה-HTTP המובנה של Python

Transferul fișierelor utilizând serverul HTTP încorporat al Python
⏱️ 1 min read

הצורך בהעברת קבצים דרך רשת עולה לעתים קרובות. מערכות GNU/Linux תומכות בפרוטוקולים וכלים שונים לעשות זאת, שחלקם מיועדים לשיתוף קבצים קבוע במקצת (כמו SMB, AFP ו-NFS), בעוד שאחרות כמו Secure Copy (SCP) משמשות להעברת קבצים ידנית ומהירות. ביניהם פרוטוקול HyperText Transfer (HTTP), הפרוטוקול הרב-תכליתי והנמצא בכל מקום בו תלויה ה-World Wide Web.

Python, הכלולה כברירת מחדל ברוב ההפצות של לינוקס, מספקת שרתי HTTP פשוטים באמצעות המודולים “SimpleHTTPServer” ו-“http.server”. הראשון נמצא בספרייה הסטנדרטית של Python 2, בעוד שהאחרון כלול ב-Python 3. שרתי HTTP קלים אלו אינם דורשים התקנה נפרדת וניתן להפעיל אותם באופן מיידי בפקודה אחת.

התקנת Python

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

לדוגמה, בדביאן ובאובונטו:

הפעלת שרת HTTP

שים לב לכתובת ה-IP המשמשת את המכונה השולחת.

גלה איזו גרסה של Python מותקנת באמצעות הפקודות הבאות:

באותו מחשב, שנה את ספריית העבודה שלך לזו שמכילה את הקבצים שאתה מעביר. שים לב לעובדה שכל התוכן של ספריית העבודה הנוכחית שלך יכול להיות נגיש לכל אחד ברשת שלך (או לאינטרנט אם למכונה השולחת יש כתובת IP ציבורית) בזמן ששרת Python HTTP פועל.

לדוגמה:

כעת אתה יכול להפעיל את שרת ה-HTTP. עבור Python 2.x, השתמש במודול SimpleHTTPServer:

או http.server במקרה של Python 3.x:

שתי הגרסאות מאזינות ביציאה 8000 כברירת מחדל, אם כי ניתן לציין במפורש מספר יציאה אחר אחרי שם המודול.

הערה: נדרשות הרשאות שורש אם אתה בוחר ביציאה מתחת ל-1024.

מוריד את הקבצים שלך

במחשב המקבל, אתה יכול להשתמש בכל לקוח HTTP כדי להוריד את הקבצים שלך. אם אתה משתמש בסביבה גרפית, דפדפן לרוב נוח יותר משירותי שורת פקודה. פשוט דפדף ל http: // IP_ADDRESS: 8000, כאשר “IP_ADDRESS” היא כתובת ה-IP של המחשב השולח, ולחץ על הקבצים הרצויים כדי להוריד אותם.

דפדפן העברה של Python Http

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

עבור דביאן ואובונטו:

עבור RHEL ו- CentOS 6/7:

עבור פדורה ו-RHEL/CentOS 8:

שימוש ב-Wget

כדי להוריד קובץ בודד עם Wget, פשוט הפעל את Wget ואחריו כתובת האתר של הקובץ שברצונך להוריד.

Python Http Transfer Wget

אתה יכול גם להשתמש ב-Wget כדי להוריד באופן רקורסיבי את כל הספרייה על ידי הוספת ה -r דגל שורת הפקודה.

Python Http Transfer Wget רקורסיבי

באמצעות cURL

כברירת מחדל, curl מנסה להדפיס את תוכן הקובץ למסוף שלך. לאחר מכן, כדי לשמור את הקובץ, ציין שם קובץ עם ה- -o דֶגֶל.

Python Http Transfer Curl

סיכום

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

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