از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
معادل Python 3 SimpleHTTPS Server
سرفصلهای مطلب
معرفی
در این مقاله، سرورهای HTTP داخلی پایتون را بررسی خواهیم کرد. ما بحث خواهیم کرد SimpleHTTPServer
ماژول، معادل پایتون 3 آن، و روش اجرای این سرورها از طریق خط فرمان. این دانش برای توسعه دهندگانی که نیاز به راه اندازی سریع سرور برای آزمایش یا اشتراک گذاری فایل ها دارند، بسیار مهم است.
چیست سرور HTTPS ساده?
را SimpleHTTPServer
ماژول یک ماژول داخلی Python 2.x است که به شما امکان می دهد یک سرور HTTP ساده ایجاد کنید. این سرور میتواند فایلها را از دایرکتوری که در آن اجرا میشود، ارائه دهد، و آن را به ابزار خوبی برای آزمایش صفحات وب یا حتی اشتراکگذاری فایلها تبدیل میکند.
# Python 2.x
$ python -m SimpleHTTPServer
Serving HTTP روی 0.0.0.0 port 8000 ...
را http.server در پایتون 3
با ظهور پایتون 3، SimpleHTTPServer
جایگزین شد http.server
مدول. را http.server
ماژول عملکردی مشابه را ارائه می دهد SimpleHTTPServer
اما برای کار با پایتون 3 به روز شده است.
را http.server
ماژول همچنین شامل یک کنترل کننده درخواست HTTP قوی تر از SimpleHTTPServer
، کنترل بیشتری بر پاسخ های HTTP ارائه می دهد.
# Python 3.x
$ python3 -m http.server
Serving HTTP روی 0.0.0.0 port 8000 ...
اجرای سرور از طریق خط فرمان
اجرای سرور از طریق خط فرمان ساده است. در Python 2.x، از ماژول SimpleHTTPServer به این صورت استفاده می کنید:
$ python -m SimpleHTTPServer
در پایتون 3.x، از http.server
ماژول در عوض:
$ python3 -m http.server
هر دو دستور سرور را راه اندازی می کنند روی پورت 8000، فایل ها را از دایرکتوری فعلی ارائه می دهد. اگر می خواهید پورت دیگری را مشخص کنید، می توانید با اضافه کردن شماره پورت در انتهای دستور این کار را انجام دهید:
$ python3 -m http.server 8080
اجرای یک سرور HTTP پایه در پایتون 3
با پایتون 3، اجرای یک سرور HTTP اولیه به سادگی استفاده از آن است http.server
مدول. این ماژول یک راه ساده و کارآمد برای ارائه فایل ها و دایرکتوری ها است روی ماشین شما در اینجا روش انجام این کار آمده است:
$ python3 -m http.server
پس از اجرای این دستور، باید چیزی شبیه به این را مشاهده کنید:
$ python3 -m http.server
Serving HTTP روی 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
این بدان معناست که سرور HTTP شما فعال است. سپس با رفتن به آن می توانید به آن دسترسی پیدا کنید http://localhost:8000
در مرورگر وب شما بهطور پیشفرض، سرور روی پورت 8000 تنظیم شده است، اما میتوانید با اضافه کردن آن به دستور، پورت دیگری را مشخص کنید:
$ python3 -m http.server 8080
این دستور سرور را راه اندازی می کند روی پورت 8080
مدیریت CGI در پایتون 3
در نسخه های قبلی پایتون، CGIHTTPServer
ماژول معمولاً برای مدیریت اسکریپت های CGI (رابط دروازه مشترک) استفاده می شد. راه اندازی یک سرور CGI به سادگی اجرای دستور بود:
$ python -m CGIHTTPServer
با این حال، با شروع با پایتون 3.3، CGIHTTPServer
ماژول حذف شد، و عملکرد آن در ادغام شد http.server
مدول. این به منظور ساده سازی قابلیت های سرور HTTP در کتابخانه استاندارد انجام شد.
معادل مدرن برای راه اندازی یک سرور CGI در پایتون 3.3 و نسخه های بعدی عبارت است از:
$ python3 -m http.server --cgi
با استفاده از --cgi
گزینه با http.server
ماژول، میتوانید همان عملکرد CGI را فعال کنید که با آن در دسترس بود CGIHTTPServer
. این باید مهاجرت به پایتون 3 را بسیار آسان تر کند.
تفاوت های بین سرور HTTPS ساده و http.server
در حالی که SimpleHTTPServer
و http.server
اساساً همان عملکرد را انجام می دهند، چند تفاوت کلیدی بین آنها وجود دارد. مهم ترین تفاوت در این است SimpleHTTPServer
در حالی که فقط در پایتون 2 موجود است http.server
در پایتون 3 موجود است.
تفاوت قابل توجه دیگر این است http.server
امن تر از SimpleHTTPServer
. را http.server
ماژول هیچ کدی را اجرا یا تفسیر نمی کند و استفاده از آن را ایمن تر می کند. از سوی دیگر، SimpleHTTPServer
می تواند به طور بالقوه کد پایتون دلخواه موجود در فهرست وب را اجرا کند. به همین دلیل، من به شدت توصیه می کنم استفاده کنید http.server
در صورت امکان
مراقب باش! همیشه هنگام ارائه فایلها و دایرکتوریها از رایانه شخصی یا برنامهنویس خود محتاط باشید، مخصوصاً وقتی این کار را از طریق شبکه انجام میدهید. هرگز اطلاعات حساس را ارائه نکنید و اجازه ندهید سرور به افراد غیرقابل اعتماد دسترسی داشته باشد.
نتیجه
پایتون 3 http.server
ماژول یک ابزار ساده و موثر برای اجرای سرور HTTP است. این نسخه ایمن تر و به روز شده پایتون 2 است SimpleHTTPServer
، و استفاده از آن به همان اندازه آسان است. چه در حال آزمایش یک وبسایت، به اشتراکگذاری فایلها از طریق یک شبکه یا فقط در حال بازی کردن باشید، http.server
یک ابزار عالی برای داشتن در اختیار شما است.
(برچسبها به ترجمه)# python
منتشر شده در 1402-12-29 10:38:03