כיצד להשתמש ב- Python SimpleHTTPServer

How Use Python Simplehttpserver



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

הפעל את שרת האינטרנט מהמסוף

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







$ python3 -m http.שרת



הפלט הבא יופיע אם שרת האינטרנט מופעל כראוי. לחצו על CTRL+C כדי לעצור את השרת.




הפעל את הפקודה הבאה כדי להפעיל את שרת האינטרנט ביציאת 8080.





$ python3 -m http.שרת 8080

הפלט הבא יופיע אם מפעיל את שרת האינטרנט ביציאת 8080.



הפעל את שרת האינטרנט באמצעות סקריפט Python

הפעל את הפקודות הבאות כדי ליצור תיקייה בשם אינטרנט ועבור לתיקייה. כל קבצי הסקריפט וקבצי HTML של הדרכה זו ייווצרו בתוך תיקיה זו.

$ mkdir אינטרנט

$CDאינטרנט

צור קובץ HTML בשם testHTML.html בתוך ה אינטרנט תיקייה עם הסקריפט הבא. קובץ זה יוגש משרת האינטרנט מאוחר יותר.

testHTML.html

< html >

< רֹאשׁ >

< כותרת >

בדוק את שרת האינטרנט של פייתון

</ כותרת >

</ רֹאשׁ >

< גוּף >

< מֶרְכָּז >

< img src='logo.jpeg' הכל='תמונה לא נמצאה'/>

< h2 סִגְנוֹן='צבע ירוק'>מזל טוב! שרת האינטרנט שלך פועל בהצלחה.</ h2 >

< עמ >לְבַקֵר< ל href='www.linuxhint.com'>LinuxHint.com</ ל >להדרכות נוספות על פייתון</ עמ >

</ מֶרְכָּז >

</ גוּף >

</ html >

דוגמה 1: הפעל את שרת האינטרנט במספר היציאה הספציפי

צור קובץ פייתון עם הסקריפט הבא להפעלת שרת האינטרנט ביציאה 8008. שרת http.server מודול יובא להפעלת שרת האינטרנט ו- SocketServer המודול יובא כדי לטפל בבקשת HTTP המגיעה מיציאת 8080. אובייקט בשם מטפל נוצר כדי לטפל בבקשות HTTP. לָנֶצַח() פונקציה נקראת להפעלת שרת האינטרנט. לא נוספה שום תנאי סיום לתסריט. לכן, התסריט יפיק שגיאה כאשר המשתמש ינסה לעצור את השרת.

# ייבוא ​​מודול שרת

יְבוּאhttp.שרת

# ייבוא ​​מודול SocketServer

יְבוּאשרת שקעים


# הגדר את מספר היציאה

נמל= 8080

# צור אובייקט לטיפול בבקשות HTTP

מטפל=http.שרת.פשוט HTTPRequestHandler


# הפעל את השרת לנצח כדי לטפל בבקשות HTTP

עםשרת שקעים.שרת TCPS(('',נמל),מטפל) כפי שhttpd:

הדפס('שרת האינטרנט פועל בכתובת http: // localhost:%s'%נמל)

httpd.serve_forever()

תְפוּקָה

הפלט הבא יופיע לאחר ביצוע התסריט הנ'ל.


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

http: // localhost: 8080

אם המשתמש לוחץ על CTRL+C מהמסוף או לוחץ על לחצן העצירה מעורך PyCharm, תוצג הודעת השגיאה הבאה. בעיה זו נפתרה בדוגמה הבאה של הדרכה זו.

דוגמה 2: הפעל את שרת האינטרנט עם מספר היציאה המוגדר בשורת הפקודה

צור קובץ פייתון עם הסקריפט הבא להפעלת שרת אינטרנט ביציאה המסוימת אם ארגומנט שורת הפקודה נותן את מספר היציאה; אחרת, 5000 ישמש כיציאת ברירת המחדל. sys המודול יובא בסקריפט כדי לקרוא את ערכי הארגומנט של שורת הפקודה. לנסות-חוץ בלוק נוסף לתסריט כדי לטפל בשגיאה כאשר המשתמש מנסה לעצור את השרת. אם החריג KeyboardInterrupt מופיע לאחר הפעלת השרת, אזי סגור() הפונקציה תקרא לעצור את שרת האינטרנט.

# ייבוא ​​מודול שרת

יְבוּאhttp.שרת

# ייבוא ​​מודול SocketServer

יְבוּאשרת שקעים

# ייבוא ​​מודול sys

יְבוּא sys


לְנַסוֹת:

# הגדר את מספר היציאה

אם sys.argv[1:]:

נמל= int(sys.argv[1])

אַחֵר:

נמל= 5000

# הגדר את כתובת ה- IP

כתובת שרת= ('127.0.0.1',נמל)

# צור אובייקט לטיפול בבקשות HTTP

מטפל=http.שרת.פשוט HTTPRequestHandler


# הפעל את שרת האינטרנט לנצח כדי לטפל בבקשות HTTP

עםשרת שקעים.שרת TCPS(('',נמל),מטפל) כפי שhttpd:

הדפס('שרת האינטרנט פועל בכתובת http: // localhost:%s'%נמל)

httpd.serve_forever()

# עצר את השרת

מלבד מקלדת הפרעה:

httpd.server_close()

הדפס('השרת עצור'.)

תְפוּקָה

הפלט הבא יופיע לאחר ביצוע התסריט לעיל ללא ערך ארגומנט של שורת הפקודה.

הפלט הבא יופיע אם תריץ את קובץ ה- HTML שנוצר בשלב הקודם משרת האינטרנט.

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

הפלט הבא יופיע אם תריץ את הסקריפט שוב ​​לאחר הגדרת ערך הארגומנט.

דוגמה 3: הפעל את שרת האינטרנט עם קובץ ה- HTML

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

# ייבא את מודול השרת

יְבוּאhttp.שרת


# הגדר את שם המארח

מנחה= 'מארח מקומי'

# הגדר את מספר היציאה

נמל= 4000


# הגדר את המחלקה להצגת דף האינדקס של שרת האינטרנט

מעמדPythonServer(http.שרת.פשוט HTTPRequestHandler):

defdo_GET(עצמי):

אם עצמי.נָתִיב == '/':

עצמי.נָתִיב = 'testHTML.html'

לַחֲזוֹרhttp.שרת.פשוט HTTPRequestHandler.do_GET(עצמי)


# הצהירו על אובייקט המחלקה

שרת אינטרנט=http.שרת.שרת HTTPS((מנחה,נמל),PythonServer)


# הדפס את כתובת האתר של שרת האינטרנט

הדפס('השרת התחיל http: //%s:%s'%(מנחה,נמל))


לְנַסוֹת:

# הפעל את שרת האינטרנט

שרת אינטרנט.serve_forever()

מלבד מקלדת הפרעה:

# עצור את שרת האינטרנט

שרת אינטרנט.server_close()

הדפס('השרת עצור'.)

תְפוּקָה

הפלט הבא יופיע המבצע את הסקריפט לעיל.

הדף הבא יופיע בדפדפן אם כתובת האתר הבסיסית של הדפדפן של שרת האינטרנט מבוצעת.

סיכום

הדרכים השונות ליישום שרתי אינטרנט באמצעות http. שרת מודול הראה במדריך זה כדי לסייע למשתמשי פייתון ליצור שרת אינטרנט פשוט ב- Python.