با استفاده از ماژول socket در پایتون یک سرور HTTP ساده بنویسید که با bind به آدرس localhost و پورت 8080 متصل شود و برای هر درخواست GET پاسخ "Hello, World!" همراه با هدرهای HTTP مناسب ارسال کند.
7.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:29 0.0
از ماژول استاندارد socket استفاده کنید: یک سوکت TCP بسازید، با setsockopt برای جلوگیری از ارور آدرسِ در حال استفاده گزینه SO_REUSEADDR را تنظیم کنید، سپس با bind و listen آن را آماده پذیرش کنید. در حلقه accept درخواستها را recv کرده، در صورت دریافت یک درخواست GET رشته درخواست را پردازش کنید و با ارسال یک پاسخ شامل خط وضعیت "HTTP/1.1 200 OK"، هدرهای لازم مثل Content-Type و Content-Length و بدنه "Hello, World!"، اتصال را ببندید؛ برای سادهسازی از encode/decode و مدیریت استثناها استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای جلوگیری از خطای 'Address already in use' حتماً از SO_REUSEADDR استفاده کنید. همچنین در دریافت درخواستها با بافر مناسب و decodeٔ UTF-8، دادهها را تا پایان خط یا دو CRLF بخوانید و از مدیریت استثناها غافل نشوید. در پاسخ HTTP، خط وضعیت 'HTTP/1.1 200 OK' را با هدرهای Content-Type و Content-Length مناسب بنویسید و بدنهٔ 'Hello, World!' را بفرستید و سپس اتصال را ببندید. اگر پروژهٔ شما گسترشپذیر است، بهجای پیادهسازی کامل HTTP با سوکت، میتوانید از کتابخانههای استاندارد مانند http.server استفاده کنید.
گزارش