با استفاده از ماژول 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 و مدیریت استثناها استفاده کنید.

توسط پژوهشگر در 201 روز قبل ساعت 03:29
دسته بندی ها: Python Python for beginner
arman در 201 روز قبل ساعت 06:17

برای جلوگیری از خطای '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 استفاده کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری